2016-01-21 73 views
3

我無法在阻止所有互聯網訪問的服務器上創建virtualenv。有沒有人成功地做到了這一點?我搜查了但沒有顯示任何有用的東西。我沒有任何問題來回傳輸數據,但我不知道需要下載哪些軟件包以及我需要安裝哪些選件。python:如何在沒有互聯網連接的情況下創建virtualenv

如果你是好奇,我得到了什麼,試圖創建一個,這裏的回溯:

[email protected] /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> 

感謝您的幫助。

+0

您正在使用哪個版本的virtualenv? – wil93

+0

石老年版,1.7.2。 –

回答

4

互聯網連接用於在虛擬環境中安裝setuptoolspip包。老版本的virtualenv會嘗試下載這兩個軟件包,而新版本隨附它們,並在必要時解壓縮它們。

由於您的virtualenv版本(1.7.2)低於1.10,您可以使用--never-download標誌以避免連接到互聯網。稍後,您可以安裝(脫機)您需要的內容。

Here(「--extra-search-dir選項」一節)中解釋瞭如何在沒有互聯網連接的情況下引導setuptools和pip。你基本上需要得到.egg文件,這些包,並把它們某處地方,然後你需要做的:

$ virtualenv --extra-search-dir=/path/to/eggs --never-download ENV 

如果您更新到版本> = 1.10,則virtualenv中絕不會連接到無論任何國旗的互聯網(請參閱「更改&新聞」部分here

+0

這是一些進步,至少它創造了一些東西。但是我怎樣才能在本地安裝'pip'? –

+0

請參閱https://pypi.python.org/pypi/virtualenv/1.7.2「The --extra-search-dir Option」部分...我也更新了答案 – wil93

+0

聽起來很有希望。有沒有簡單的方法來抓取所有.egg文件? –

0
mkdir .mypypi 
pip install --download $HOME/.mypypi ipython ipdb django 

現在將內容從.mypypi傳輸到您的服務器。比方說,你把它複製到你的$HOME那麼做到這一點:

pip install --no-index --find-links=file:/$HOME/.mypypi ipython 

這應該requirements.txt文件工作了。

+0

我認爲這不會有幫助。我甚至無法走到這一步。我甚至無法用'activate'和'python'可執行文件創建virtualenv。 –