python3 venv を使ってみる

python3 venv 使い方

venvが入っているか確認する。
入っていなかったら下記のようになる。

python3 -m venv scraping
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/hoge/work/scraping/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

 

入ってなかったら入れる。

sudo apt-get install python3-venv

 

仮想環境を構築してみる

python3 -m venv [仮想環境名] で構築

# scrapingという名前で仮想環境を作成
python3 -m venv scraping

cd scraping

ls -al ./
合計 28
drwxr-xr-x 6 hoge hoge 4096 11月 18 13:32 ./
drwxr-xr-x 4 hoge hoge 4096 11月 18 13:32 ../
drwxr-xr-x 2 hoge hoge 4096 11月 18 13:32 bin/
drwxr-xr-x 2 hoge hoge 4096 11月 18 13:32 include/
drwxr-xr-x 3 hoge hoge 4096 11月 18 13:32 lib/
lrwxrwxrwx 1 hoge hoge    3 11月 18 13:32 lib64 -> lib/
-rw-r--r-- 1 hoge hoge   69 11月 18 13:32 pyvenv.cfg
drwxr-xr-x 3 hoge hoge 4096 11月 18 13:32 share/

 

activateする

bashはもちろん、fish用のも用意されてる(みんなでfishを使おう!)

ls -al bin/
合計 40
drwxr-xr-x 2 hoge hoge 4096 11月 18 13:32 ./
drwxr-xr-x 6 hoge hoge 4096 11月 18 13:32 ../
-rw-r--r-- 1 hoge hoge 2203 11月 18 13:32 activate
-rw-r--r-- 1 hoge hoge 1259 11月 18 13:32 activate.csh
-rw-r--r-- 1 hoge hoge 2423 11月 18 13:32 activate.fish
-rwxr-xr-x 1 hoge hoge  249 11月 18 13:32 easy_install*
-rwxr-xr-x 1 hoge hoge  249 11月 18 13:32 easy_install-3.6*
-rwxr-xr-x 1 hoge hoge  221 11月 18 13:32 pip*
-rwxr-xr-x 1 hoge hoge  221 11月 18 13:32 pip3*
-rwxr-xr-x 1 hoge hoge  221 11月 18 13:32 pip3.6*
lrwxrwxrwx 1 hoge hoge    7 11月 18 13:32 python -> python3*
lrwxrwxrwx 1 hoge hoge   16 11月 18 13:32 python3 -> /usr/bin/python3*

# bash等の場合
. bin/activate

# fishの場合
. bin/activate.fish

# プロンプトにactivateした仮想環境名が表示されるようになる
# (scraping) hogeuser@hagehost scraping#

# もろもろの確認
which python
/root/work/scraping/bin/python

python --version
Python 3.6.6

which pip3
/root/work/scraping/bin/pip3

pip3 --version
pip 9.0.1 from /root/work/scraping/lib/python3.6/site-packages (python 3.6)

pip3 freeze | perl -pe 's/\n/, /g'
pkg-resources==0.0.0, 

仮想環境から抜けるときはdeactivate

deactivate

# プロンプトからactivateした仮想環境名が消える
# hogeuser@hagehost scraping#

# もろもろの確認
which python
/usr/bin/python

python --version
Python 2.7.15rc1

which pip3
/usr/bin/pip3

pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

pip3 freeze | perl -pe 's/\n/, /g'
asn1crypto==0.24.0, attrs==17.4.0, Automat==0.6.0, beautifulsoup4==4.6.0, blinker==1.4, certifi==2018.1.18, chardet==3.0.4, click==6.7, cloud-init==18.2, colorama==0.3.7, command-not-found==0.3, configobj==5.0.6, constantly==15.1.0, cryptography==2.1.4, distro-info==0.18, httplib2==0.9.2, hyperlink==17.3.1, idna==2.6, incremental==16.10.1, Jinja2==2.10, jsonpatch==1.16, jsonpointer==1.10, jsonschema==2.6.0, keyring==10.6.0, keyrings.alt==3.0, language-selector==0.1, MarkupSafe==1.0, oauthlib==2.0.6, PAM==0.4.2, pyasn1==0.4.2, pyasn1-modules==0.2.1, pycrypto==2.6.1, pygobject==3.26.1, PyJWT==1.5.3, pyOpenSSL==17.5.0, pyserial==3.4, python-apt==1.6.0, python-debian==0.1.32, pyxdg==0.25, PyYAML==3.12, requests==2.18.4, requests-unixsocket==0.1.5, SecretStorage==2.3.1, service-identity==16.0.0, six==1.11.0, ssh-import-id==5.7, systemd-python==234, Twisted==17.9.0, ufw==0.35, unattended-upgrades==0.1, urllib3==1.22, zope.interface==4.3.2,

コメント

タイトルとURLをコピーしました