conda env中的错误点子

时间:2015-09-01 10:27:05

标签: python pip conda

我有一个名为birdid的conda env。

在环境中工作时(即我做source activate bird_dev),显示包列表

(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使用的内容时,我得到了

(bird_dev)...$ which pip
/usr/local/bin/pip

找到正确的python

(bird_dev)...$ which python
/home/jul/Development/miniconda/envs/bird_dev/bin/python

有人可以帮忙吗?

编辑:有关已安装版本的更多详细信息

检查-a pip

(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中实际上没有点子

$ 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脚本(!)

$ 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())

怪异。

1 个答案:

答案 0 :(得分:2)

您可能已设置PYTHONPATH。我建议取消设置,并删除设置它的~/.bashrc中的任何行。这将导致你的任何conda环境'蟒蛇在他们自己之前看那个位置。