sys.path は、別のファイルからパッケージをインポートした場合にのみ変更されます。
私のpyenvで:
$(env) python
>>> import sys
>>> print(sys.path)
['', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/var/www/lib/python3.4/site-packages']
fileImport.py(私の仮想環境内)で:
# fileImport.py
import sys
print(sys.path)
コマンド :
$(env) python fileImport.py
同じ良い結果が得られます!
しかし、次のように anotherfile.py から fileImport パッケージをインポートしようとすると:
#!/usr/bin/env python
# anotherfile.py
import fileImport
sys.path 結果の変更:
$(env) python anotherfile.py
['/var/www', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
次のようにpyenvをインストールします:
$ sudo apt-get install python3.4-venv python3-dev
$ pyvenv-3.4 env
ファイルからのインポートで、仮想環境からではなくシステムからの sys.path が使用される理由がわかりません。
よろしくお願いいたします。