0

我正在尝试以正确的方式安装 django-nonrel -并且能够重现该过程

我已经使用 pip 安装了 django-nonrel - 如下:

pip install git+https://github.com/django-nonrel/django-nonrel.git
pip install git+https://github.com/django-nonrel/django-dbindexer.git
pip install git+https://github.com/django-nonrel/django-permission-backend-nonrel
pip install hg+https://bitbucket.org/wkornewald/djangoappengine
pip install hg+https://bitbucket.org/wkornewald/djangotoolbox
pip install hg+https://bitbucket.org/twanschik/django-autoload
pip install hg+https://bitbucket.org/twanschik/nonrel-search/src

安装后,我得到了这个 req.txt 文件(pip freeze > req.txt):

Django==1.3.1
django-autoload==0.01
django-dbindexer==0.3
djangoappengine==1.0
djangotoolbox==0.9.2
nonrel-search==0.1
permission-backend-nonrel==0.1
wsgiref==0.1.2

但我不能使用我的 req.txt 文件来获得相同的东西。如果我卸载一个包(例如 django-autoload)并尝试使用需求文件再次获取它

(gae-first)bentzy@lama:~/.virtualenvs/gae-first$ pip uninstall django-autoload
Uninstalling django-autoload:
...
Successfully uninstalled django-autoload
(gae-first)bentzy@lama:~/.virtualenvs/gae-first$ pip install -r req.txt 
Requirement already satisfied (use --upgrade to upgrade): Django==1.3.1       in ./lib/python2.7/site-packages (from -r req.txt (line 1))
Downloading/unpacking django-autoload==0.01 (from -r req.txt (line 2))
Could not find any downloads that satisfy the requirement django-autoload==0.01 (from -r req.txt (line 2))
No distributions at all found for django-autoload==0.01 (from -r req.txt (line 2))
Storing complete log in /home/bentzy/.pip/pip.log

为什么这些包不在 pip 存储库中?

使用 pip 安装它们仍然有意义吗?

4

2 回答 2

4

问题是您的需求文件没有足够的信息。

例如,当您请求它安装时,您pip将要做django-autoload的是查看该包的 PyPI(并在找到 PyPI 条目后废弃一些页面)。

如果您想要一个要求文件以与您在安装时相同的方式下载这些软件包,请执行相同操作:告诉 pip 在哪里可以找到软件包。

创建一个需求文件,如:

git+https://github.com/django-nonrel/django-nonrel.git
git+https://github.com/django-nonrel/django-dbindexer.git
git+https://github.com/django-nonrel/django-permission-backend-nonrel
hg+https://bitbucket.org/wkornewald/djangoappengine
hg+https://bitbucket.org/wkornewald/djangotoolbox
hg+https://bitbucket.org/twanschik/django-autoload
hg+https://bitbucket.org/twanschik/nonrel-search/src

或者,如果您想从特定标签或提交安装,请执行以下操作:

git+https://github.com/django-nonrel/django-nonrel.git@1.3.1#egg=Django

在http://www.pip-installer.org/en/latest/logic.html#requirements-file-format阅读有关需求文件的更多信息

于 2013-01-29T23:14:25.113 回答
0

如果您使用的是 GAE,则使用 pip 没有任何意义,因为您使用的所有包都需要位于您实际的 GAE 项目文件夹中。安装在您的系统或 virtualenv 环境中的软件包不会上传到 GAE 生产服务器。

于 2013-01-29T17:30:29.860 回答