package通过pip安装在错误的(src)目录而不是站点包中

时间:2013-05-28 06:35:17

标签: virtualenv pip virtualenvwrapper

我正在使用virtualenvwrapper将this软件包安装到virtualenv中并使用此命令进行pip:

pip install -e git+git://github.com/mr-stateradio/django-exchange.git#egg=django_exchange-master

有趣的是,然后将包放入src文件夹中,而不是放在我期望的site-packages文件夹中。包裹放在这个文件夹中:

<path-to-my-virtual-env>/testenv/src/django-exchange-master/exchange

而不是:

<path-to-my-virtual-env>/testenv/lib/python2.7/site-packages

我假设我正在使用的pip install命令或包的setup.py有问题。

1 个答案:

答案 0 :(得分:13)

-e选项告诉pip以“editable”模式安装软件包。如果删除-e选项,则pip会将包安装到<venv path>/lib/Python_version/site-packages。不要忘记删除<venv path>/src中的包,因为python首先在<venv path>/src内查找包。

pip支持从Git,Mercurial,Subversion和Bazaar安装,并使用url前缀检测VCS的类型:“git +”,“hg +”,“bzr +”,“svn +”。

e.g

$ pip install -e git+https://git.repo/some_pkg.git#egg=SomePackage          # from git
$ pip install -e hg+https://hg.repo/some_pkg.git#egg=SomePackage            # from mercurial
$ pip install -e svn+svn://svn.repo/some_pkg/trunk/#egg=SomePackage         # from svn
$ pip install -e git+https://git.repo/some_pkg.git@feature#egg=SomePackage  # from 'feature' branch

VCS项目可以在可编辑模式下安装(使用-editable选项),也可以不安装。

  • 对于可编辑安装,默认情况下,克隆位置在虚拟环境中为<venv path>/src/SomeProject,在全局安装时为<cwd>/src/SomeProject–src选项可用于修改此位置。
  • 对于不可编辑的安装,项目在temp dir中本地构建,然后正常安装。 `