我希望安装django-extensions及其依赖(特别是六个),而无需访问互联网。我有django-extensions和6的tar包,所以我可以离线安装。但是,我在我的日志中看到pip第一次尝试在本地检查之前在pypi上找到六个。相反,我想强制安装程序永远不要检查pypi。
日志输出(这是在我下载六个tarball之前,所以请忽略本地包错误)
已安装/usr/local/lib/python2.7/site-packages/django_extensions-1.2.5-py2.7.egg
处理django-extensions == 1.2.5
的依赖关系搜索六个
阅读http://pypi.python.org/simple/six/
下载错误:[Errno -3]名称解析暂时失败 - 可能找不到某些包裹!
无法找到'six'的索引页(可能拼写错误?)
扫描所有包裹的索引(这可能需要一段时间)
阅读http://pypi.python.org/simple/
下载错误:[Errno -3]名称解析暂时失败 - 可能找不到某些包裹!
找不到6个本地软件包或下载链接
答案 0 :(得分:0)
1)解压缩tarball并在解压缩的目录中执行 python setup.py install 。
2)或者如果你想坚持使用pip,首先你必须下载pip包: pip install --download / temp_download_dir package_name == version (“== version”是可选的)和你可以用 pip install安装pip包--no-index --find-links / temp_download_dir package_name
答案 1 :(得分:0)
您的问题的简单答案是将--no-index
选项传递给pip
,这将避免检查包的索引。
您确实需要设置本地pypi
镜像,并将pip
指向该镜像。这就是我在工作场所所做的工作,因为机器受到互联网的限制。它可能会有点复杂,因为它需要设置Web服务器(请参阅pypiserver
和this blog,其中讨论了按照pep-381设置镜像。)
如果这不是您的选择,最简单的方法是使用basket
。安装后(使用pip
),只需要它下载软件包:
$ basket init # initialize the directory
Repository has been created: ~/.basket
$ basket download django-extensions # this will download any dependencies as well
然后,将~/.basket
目录移动到没有Internet的计算机上,然后运行:
pip install --no-index -f file:///path/to/.basket django-extensions