上周末我实际上正在研究 pip,我相信我对你的 pip 问题有解释。问题只是 pip 本身的限制。由于安装过程的工作方式,该#egg=[egg-name]
部分必须正确命名为 setup.py 名称 kwarg 中标识的实际项目名称(这是 PyPI 上已知的名称)。
简答
您的线路:
svn+http://code.djangoproject.com/svn/django/trunk/@16406#egg=Django1.4A
应该:
svn+http://code.djangoproject.com/svn/django/trunk/@16406#egg=django
长答案
根据我的理解,安装过程实际上做了以下事情(如果我错了,Ian Bicking 会让我失望 :-P)
- 当它得到您的要求时,它会根据 vcs+[url] 结构确定链接到它知道的 VCS。
- 它将代码签出到您环境中的临时目录中。
- 它运行 setup.py(我相信 egg_info 和 install)
- 已从文件系统中删除签出代码的临时目录
因此,一旦第 3 步完成并安装了您签出的源代码,Django 就会被称为 pip django
(不区分大小写)。但是,如果您保持当前的需求行,pip 将搜索Django1.4A
. 找不到与该名称匹配的包,它将再次检出源代码并尝试安装它。