如何在不使用互联网的情况下安装django-extensions及其依赖项?

时间:2014-02-05 21:32:58

标签: python django setup.py django-extensions

我希望安装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个本地软件包或下载链接

2 个答案:

答案 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服务器(请参阅pypiserverthis 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