conda env中的错误点 [英] Wrong pip in conda env
问题描述
我有一个叫做Birdid的conda env.
I have a conda env called birdid.
在环境中工作时(即我做了source activate bird_dev
),显示了要提供的软件包列表
While working in the env (i.e. I did source activate bird_dev
), showing the list of the packages give
(bird_dev)...$ conda list
# packages in environment at /home/jul/Development/miniconda/envs/bird_dev:
#
...
pep8 1.6.2 py27_0
pip 7.1.2 py27_0
pixman 0.26.2 0
...
但是当尝试查看使用了什么pip
时,我得到了
but when trying to see what pip
is used I get
(bird_dev)...$ which pip
/usr/local/bin/pip
找到正确的python
(bird_dev)...$ which python
/home/jul/Development/miniconda/envs/bird_dev/bin/python
有人可以帮忙吗?
有关已安装版本的更多详细信息
检查哪个-a点
(bird_dev)...$ which -a pip
/usr/local/bin/pip
/usr/bin/pip
/usr/bin/pip
中的版本很旧.
(bird_dev)...$ /usr/bin/pip -V
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
(bird_dev)....$ /usr/local/bin/pip -V
pip 6.1.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
env中实际上没有点子
There is actually no pip in the env
$ ll /home/jul/Development/miniconda/envs/bird_dev/bin/ | grep pip
不返回任何内容
/home/jul/Development/miniconda/bin/pip
$ /home/jul/Development/miniconda/bin/pip -V
pip 6.1.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
,但不是conda list
列出的版本,它是python脚本(!)
but it is not the version listed by conda list
, and it is a python script (!)
$ cat /home/jul/Development/miniconda/bin/pip
#!/home/jul/Development/miniconda/bin/python
if __name__ == '__main__':
import sys
from pip import main
sys.exit(main())
echo $ PATH
(bird_dev)...$ echo $PATH
/home/jul/Development/miniconda/envs/bird_dev/bin:/home/jul/torch/install/bin:/home/jul/torch/install/bin:/home/jul/torch/install/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
尝试强制安装
(bird_dev)...$ conda install --force pip
Fetching package metadata: ....
Solving package specifications: .
Package plan for installation in environment /home/jul/Development/miniconda/envs/bird_dev:
The following packages will be UPDATED:
pip: 7.1.2-py27_0 --> 7.1.2-py27_0
Proceed ([y]/n)? y
[ COMPLETE ]|##################################################################################################################################################################################| 100%
Extracting packages ...
[ COMPLETE ]|##################################################################################################################################################################################| 100%
Unlinking packages ...
[ COMPLETE ]|##################################################################################################################################################################################| 100%
Linking packages ...
[ COMPLETE ]|##################################################################################################################################################################################| 100%
(bird_dev)...$ which pip
/home/jul/Development/miniconda/envs/bird_dev/bin/pip
(bird_dev)...$ /home/jul/Development/miniconda/envs/bird_dev/bin/pip -V
pip 6.1.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
(bird_dev)...$ cat /home/jul/Development/miniconda/envs/bird_dev/bin/pip
#!/home/jul/Development/miniconda/envs/bird_dev/bin/python
if __name__ == '__main__':
import sys
from pip import main
sys.exit(main())
很奇怪.
推荐答案
您可能已设置PYTHONPATH
.我建议取消设置它,并从设置它的~/.bashrc
中删除所有行.这将导致您的任何conda环境的Python都先查看该位置.
You probably have PYTHONPATH
set. I would recommend unsetting it, and removing any lines from ~/.bashrc
that set it. It will cause any of your conda environments' Pythons to look in that location before themselves.
这篇关于conda env中的错误点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!