15

我正在使用 virtualenvwrapper将此软件包安装到 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 有问题。

4

1 回答 1

23

-e选项告诉 pip 在“<a href="http://www.pip-installer.org/en/latest/logic.html#editable-installs">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+”。

例如

$ 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选项可用于修改此位置。
  • 对于不可编辑的安装,项目在本地临时目录中构建,然后正常安装。`
于 2013-12-12T16:00:36.320 回答