Ubuntu18.04被我(一个noob)使用,在我了解到虚拟环境的好处之前,他在所有地方都安装了pip包。my.bash rc文件包含:
#setup for python
export PYTHONPATH=/home/stefan/.local/
export PYTHONPATH=/usr/local${PYTHONPATH:+:${PYTHONPATH}}
export PYTHONPATH=/home/stefan/caffe/python:$PYTHONPATH
LD_LIBRARY_PATH=/usr/local/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
不管怎样,因为我一直忘了哪些虚拟环境有哪些包,所以我决定使用pip安装——像这样的用户:
pip install plumbum --user
哪个给了
~/.local/lib/python3.6/site-packages$ ls
plumbum plumbum-1.6.7.dist-info
同时
~/.local/lib/python2.7/site-packages$ ls
clonevirtualenv.py stevedore
clonevirtualenv.pyc stevedore-1.30.1.dist-info
imageio virtualenv-16.4.3.dist-info
imageio-2.5.0.dist-info virtualenv_clone-0.5.1.dist-info
pbr virtualenv.py
pbr-5.1.3.dist-info virtualenv.pyc
pip virtualenv_support
pip-19.0.3.dist-info virtualenvwrapper
six-1.12.0.dist-info virtualenvwrapper-4.8.4.dist-info
six.py virtualenvwrapper-4.8.4-nspkg.pth
six.pyc
不用说,我不能使用从蟒蛇2提示铅。我只使用pip安装,所以我
为了让事情更混乱,我有一个虚拟env,名为pycv3,它有
~/Envs/pyCV3/lib/python2.7/site-packages$ ls
backports
backports.functools_lru_cache-1.5.dist-info
backports.shutil_get_terminal_size-1.0.0.dist-info
cloudpickle
cloudpickle-0.8.1.dist-info
concurrent
cv2.so
cycler-0.10.0.dist-info
cycler.py
cycler.pyc
dask
dask-1.1.4.dist-info
dateutil
decorator-4.4.0.dist-info
decorator.py
decorator.pyc
easy_install.py
easy_install.pyc
enum
enum34-1.1.6.dist-info
futures-3.2.0.dist-info
imageio
imageio-2.5.0.dist-info
IPython
ipython-5.8.0.dist-info
ipython_genutils
ipython_genutils-0.2.0.dist-info
kiwisolver-1.0.1.dist-info
kiwisolver.so
matplotlib
matplotlib-2.2.4.dist-info
matplotlib-2.2.4-py2.7-nspkg.pth
mpl_toolkits
networkx
networkx-2.2.dist-info
numpy
numpy-1.16.2.dist-info
pathlib2
pathlib2-2.3.3.dist-info
pexpect
pexpect-4.6.0.dist-info
pickleshare-0.7.5.dist-info
pickleshare.py
pickleshare.pyc
PIL
Pillow-5.4.1.dist-info
pip
pip-19.0.3.dist-info
pkg_resources
pkg_resources-0.0.0.dist-info
_posixsubprocess32.so
prompt_toolkit
prompt_toolkit-1.0.15.dist-info
ptyprocess
ptyprocess-0.6.0.dist-info
pygments
Pygments-2.3.1.dist-info
pylab.py
pylab.pyc
pyparsing-2.3.1.dist-info
pyparsing.py
pyparsing.pyc
python_dateutil-2.8.0.dist-info
pytz
pytz-2018.9.dist-info
PyWavelets-1.0.2.dist-info
pywt
scandir-1.10.0.dist-info
scandir.py
scandir.pyc
_scandir.so
scikit_image-0.14.2.dist-info
scikit_learn-0.20.3.dist-info
scipy
scipy-1.2.1.dist-info
setuptools
setuptools-40.8.0.dist-info
shutil_backports
simplegeneric-0.8.1.dist-info
simplegeneric.py
simplegeneric.pyc
six-1.12.0.dist-info
six.py
six.pyc
skimage
sklearn
subprocess32-3.5.3.dist-info
subprocess32.py
subprocess32.pyc
tlz
toolz
toolz-0.9.0.dist-info
traitlets
traitlets-4.3.2.dist-info
wcwidth
wcwidth-0.1.7.dist-info
wheel
wheel-0.33.1.dist-info
早期我还做了一个“sudo-pip安装”,所以我的系统python文件夹是这样的
~/.local/lib/python2.7/站点包$ls
克罗内弗塔列尼派装卸工
clonevirtualenv.pyc stevendore-1.30.1.dist-info公司
imageio virtualenv-16.4.3.dist-信息
imageio-2.5.0.dist-info虚拟环境克隆-0.5.1.dist-info
PBR虚拟环境.py
pbr-5.1.3.dist-info虚拟环境.pyc
PIP虚拟环境支持
pip-19.0.3.dist-info虚拟环境包装
six-1.12.0.dist-info虚拟环境包装器-4.8.4.dist-info
six.py虚拟包装-4.8.4-nspkg.pth
六.pyc
和
/.local/lib/python3.6/site-packages$ ls
plumbum plumbum-1.6.7.dist-info
所以我不知道为什么PIP安装决定把铅放在3.6而不是2.7。有人能启发我吗?(也许给我一个如何清理我的烂摊子的提示)。
我怀疑这与我的Linux总是使用PIP3有关
~/.local/lib/python3.6/site-packages$ pip3 --version
pip 19.0.3 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
~/.local/lib/python3.6/site-packages$ pip --version
pip 19.0.3 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
~/.local/lib/python2.7/site-packages$ pip --version
pip 19.0.3 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
~/.local/lib/python2.7/site-packages$ pip3 --version
pip 19.0.3 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
我知道我的/usr/bin中有一个pip2,但是Linux不喜欢它。
/usr/bin$ pip2 --version
Traceback (most recent call last):
File "/usr/bin/pip2", line 9, in <module>
from pip import main
ImportError: cannot import name main