客戶環境不能上網,開始想把全部依賴包下載下來,進入客戶環境進行安裝。但爲了不出差,部署工做交給其餘同事了,我想仍是須要更簡單的方式。python
實驗了一下virtualenv是能夠的ruby
1. 建立一個新的環境(改成virtualenv --no-site-packages ENV,不復制全局的包進來
)工具
新環境在目錄ENV中測試
2. 進入到新環境ui
3. 安裝程序及其依賴包3d
把咱們的程序考到pub3目錄下code
並執行pip install -r requirements.txt安裝全部的依賴包blog
4. 讓ENV這個目錄能夠改變位置ip
Make an EXISTING virtualenv environment relocatable.rem
This fixes up scripts and makes all .pth files,
relative (改爲相對路徑)
這一步是必要的,若是不作,必須保證新的環境上ENV所在的路徑與打包機徹底一致。由於,像pip這樣的工具內會有絕對路徑,如python解析器地址。
若是執行了relocatable就能夠至於任意目錄了
5. 修改ENV/bin/activate中存在的絕對路徑
改成
6. 壓縮pub3目錄發佈
-----------------------------------------------
在客戶環境部署
7. 解壓並進入pub3
8. 進入python虛擬環境
cd xxx/xxx/ENV
source bin/activate
若第5步改爲了pwd的話,必定要進入ENV目錄後,執行source bin/active。不然沒法正確進入虛擬環境
執行完後,測試一下虛擬環境,看是否引用的是虛擬環境中的python/pip等
which python
which pip
9. 運行程序就能夠了