我正在尝试在 Ubuntu Server 10.04 上安装一个带有几个软件包的虚拟环境,但是当我尝试创建虚拟环境时,我收到一条错误消息,提示它无法访问 pypi 以安装分发版。
native 可以访问apt,其他的就不行了,我想尽量减少全局包的数量。我也可以手动引入 Python 包,这是我在虚拟环境运行后的计划。
机器安装了python-setuptools、python-pip、python-virtualenv。
如何在离线或接近它的机器上使用 virtualenv?
最佳答案
查看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
参见 this blog详细解释。
关于python - 在没有访问 pypi 的机器上使用 virtualenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20266562/