在无法访问pypi的计算机上使用virtualenv

4
我正在尝试在Ubuntu Server 10.04上安装一个虚拟环境,并带有一些包,但当我尝试创建虚拟环境时,出现错误,指出无法访问pypi以安装distribute。
机器可以访问apt,但没有其他访问权限,我想将全局软件包的数量保持最少。我也可以手动引入Python软件包,这是在虚拟环境运行后的计划。
机器已经安装了python-setuptools、python-pip和python-virtualenv。
如何在离线或接近离线的机器上使用virtualenv?

你安装了python-pip吗?能否展示一下错误信息? - Alberto Megía
你看到 virtualenv 的安装页面了吗?-> http://www.virtualenv.org/en/latest/virtualenv.html#installation - Alberto Megía
@AlbertoMegía 这里有输出的转储:http://bpaste.net/show/vvcMD2jzLAub3XT9Uw04/,是的,我已经安装了python-pip。 - Lars
@AlbertoMegía 我已经查看了文档,但我不确定其中哪一部分解决了我的问题。 - Lars
1
说实话,我不确定为什么,但是你的虚拟环境创建在下载Distribute时失败了。作为解决方法,你可以尝试:向virtualenv传递“--setuptools”选项,或者在机器上全局手动安装Distribute。这应该可以使用最新的virtualenv/pip/setuptools正常工作。 - Corey Goldberg
好的!看起来你没有正确下载Distribute,所以当它尝试创建环境并检查要求时失败了。我会尝试重现它。 - Alberto Megía
2个回答

3
浏览virtualenv.py源代码,我们可以看到在创建venv时,它使用pip来安装setuptools/pip/wheel。因此,我们可以利用pip提供的离线安装选项,通过以下方式进行操作:
# --extra-search-dir can be set multiple times, then it produces a list
virtualenv --extra-search-dir path/to/setuptoolsPackages --no-download venv

一个完整的例子
# Download pip, setuptools and wheel package to current dir.
ls
# argparse-1.4.0-py2.py3-none-any.whl  pip-8.1.1-py2.py3-none-any.whl  setuptools-20.7.0-py2.py3-none-any.whl  wheel-0.29.0-py2.py3-none-any.whl

# Offline version.
# Set extra-search-dir to current dir.
time virtualenv --extra-search-dir ${PWD} --no-download venv
# New python executable in /home/me/wcftest/venv/bin/python3.5
# Also creating executable in /home/me/wcftest/venv/bin/python
# Installing setuptools, pip, wheel...done.
# 
# real  0m3.670s
# user  0m1.350s
# sys   0m0.161s

# On-line.
time virtualenv venv2
# New python executable in /home/me/wcftest/venv2/bin/python3.5
# Also creating executable in /home/me/wcftest/venv2/bin/python
# Installing setuptools, pip, wheel...done.
# 
# real  0m8.419s
# user  0m1.624s
# sys   0m0.179s

详见此博客获取详细解释。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接