使用e选项从github将pip安装到virtualenv无法将包添加到python路径

2024-05-23 19:04:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试以“可编辑”(-e)模式从github安装一个包,以便在使用存储库时能够轻松地对其进行操作。

但是它会导致问题,因为在我安装它之后,它在python路径中不可用。

创建并激活一个全新的、干净的virtualenv“publisher”,我运行以下命令:

pip install -e git+https://github.com/roberts81/easy-thumbnails.git#egg=easy_thumbnails
Obtaining easy-thumbnails from git+https://github.com/roberts81/easy-thumbnails.git#egg=easy_thumbnails
  Cloning https://github.com/roberts81/easy-thumbnails.git to /Users/ben/Envs/publisher/src/easy-thumbnails
  Running setup.py egg_info for package easy-thumbnails

    no previously-included directories found matching 'docs/_build'
Installing collected packages: easy-thumbnails
  Running setup.py develop for easy-thumbnails

    no previously-included directories found matching 'docs/_build'
    Creating /Users/ben/Envs/publisher/lib/python2.7/site-packages/easy-thumbnails.egg-link (link to .)
    Adding easy-thumbnails 1.2 to easy-install.pth file

    Installed /Users/ben/Envs/publisher/src/easy-thumbnails
Successfully installed easy-thumbnails
Cleaning up...

然后,如果我运行python(仍然在virtualenv中)并尝试从该包中导入任何内容,它将失败。

Python 2.7.2 (default, Jun 20 2012, 16:23:33) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import easy_thumbnails
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named easy_thumbnails
>>> 

如果我安装它没有-e选项,一切都很好。我得到了与其他repo相同的效果(即它们在安装后不在python路径上),例如pip install -e git+http://github.com/django/django.git@stable/1.5.x#egg=django。那又有什么好处呢?

我注意到的一件事是,它似乎并没有真正更新easy-install.pth文件,尽管它说它是。。。这里发生了一些奇怪的事。

但如果我运行它(pip安装。。。命令)使用sudo,它可以工作!我还可以全局安装这个包(当然,除了virtualenv,还有sudo),这样就可以了。

版本:

pip==1.2.1点 virtualenv==1.8.4个 virtualenvwrapper==3.6个 python==2.7.2条 Mac OSX 10.8.2版


Tags: installpiptohttpsgitgithubcomvirtualenv