python: 如何在没有互联网连接的情况下创建 virtualenv
python: How to create virtualenv without internet connection
我无法在阻止所有互联网访问的服务器上创建 virtualenv。以前有人成功过吗?我搜索但没有显示任何有用的信息。我来回传输数据没有问题,但我不知道需要下载什么包以及安装时需要什么选项。
如果你想知道我尝试创建一个得到了什么,这里是回溯:
netops@netops1 /spare/local/latency $virtualenv -p /usr/bin/python2.6 latency
Running virtualenv with interpreter /usr/bin/python2.6
New python executable in latency/bin/python2.6
Also creating executable in latency/bin/python
Installing setuptools.....................
Complete output from command /spare/local/latency/latency/bin/python2.6 -c "#!python
\"\"\"Bootstra...sys.argv[1:])
" --always-copy -U setuptools:
Downloading http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
Traceback (most recent call last):
File "<string>", line 279, in <module>
File "<string>", line 211, in main
File "<string>", line 159, in download_setuptools
File "/usr/lib64/python2.6/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib64/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib64/python2.6/urllib2.py", line 409, in _open
'_open', req)
File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib64/python2.6/urllib2.py", line 1181, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib64/python2.6/urllib2.py", line 1156, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 110] Connection timed out>
感谢您的帮助。
mkdir .mypypi
pip install --download $HOME/.mypypi ipython ipdb django
现在将内容从 .mypypi
传输到您的服务器。假设您将其复制到 $HOME
然后执行此操作:
pip install --no-index --find-links=file:/$HOME/.mypypi ipython
这也适用于 requirements.txt 文件。
如果您将 virtualenv 更新到 >= 1.10 的版本,那么无论任何标志如何,它都永远不会连接到互联网(参见 "Changes & News" 部分 here)
互联网连接用于在虚拟环境中安装 setuptools
和 pip
软件包。较早版本的 virtualenv 会尝试下载这两个包,而较新版本会随附它们并在必要时解压缩它们。
由于您的 virtualenv 版本 (1.7.2) 低于 1.10,您可以使用 --never-download
标志以避免连接到互联网。稍后,您可以安装(离线)您需要的东西。
Here(第 "The --extra-search-dir Option" 节)解释了如何在没有互联网连接的情况下 bootstrap setuptools 和 pip。您基本上需要获取这些包的 .egg
文件并将它们放在本地某个地方,然后您需要做:
$ virtualenv --extra-search-dir=/path/to/eggs --never-download ENV
我无法在阻止所有互联网访问的服务器上创建 virtualenv。以前有人成功过吗?我搜索但没有显示任何有用的信息。我来回传输数据没有问题,但我不知道需要下载什么包以及安装时需要什么选项。
如果你想知道我尝试创建一个得到了什么,这里是回溯:
netops@netops1 /spare/local/latency $virtualenv -p /usr/bin/python2.6 latency
Running virtualenv with interpreter /usr/bin/python2.6
New python executable in latency/bin/python2.6
Also creating executable in latency/bin/python
Installing setuptools.....................
Complete output from command /spare/local/latency/latency/bin/python2.6 -c "#!python
\"\"\"Bootstra...sys.argv[1:])
" --always-copy -U setuptools:
Downloading http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
Traceback (most recent call last):
File "<string>", line 279, in <module>
File "<string>", line 211, in main
File "<string>", line 159, in download_setuptools
File "/usr/lib64/python2.6/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib64/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib64/python2.6/urllib2.py", line 409, in _open
'_open', req)
File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib64/python2.6/urllib2.py", line 1181, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib64/python2.6/urllib2.py", line 1156, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 110] Connection timed out>
感谢您的帮助。
mkdir .mypypi
pip install --download $HOME/.mypypi ipython ipdb django
现在将内容从 .mypypi
传输到您的服务器。假设您将其复制到 $HOME
然后执行此操作:
pip install --no-index --find-links=file:/$HOME/.mypypi ipython
这也适用于 requirements.txt 文件。
如果您将 virtualenv 更新到 >= 1.10 的版本,那么无论任何标志如何,它都永远不会连接到互联网(参见 "Changes & News" 部分 here)
互联网连接用于在虚拟环境中安装 setuptools
和 pip
软件包。较早版本的 virtualenv 会尝试下载这两个包,而较新版本会随附它们并在必要时解压缩它们。
由于您的 virtualenv 版本 (1.7.2) 低于 1.10,您可以使用 --never-download
标志以避免连接到互联网。稍后,您可以安装(离线)您需要的东西。
Here(第 "The --extra-search-dir Option" 节)解释了如何在没有互联网连接的情况下 bootstrap setuptools 和 pip。您基本上需要获取这些包的 .egg
文件并将它们放在本地某个地方,然后您需要做:
$ virtualenv --extra-search-dir=/path/to/eggs --never-download ENV