1、應用場景
好比:對於數據安全要求比較嚴格的機房,服務器是不容許上網的。那麼我如今開發了一套python程序,須要一些模塊,怎麼運行?html
2、離線包製做
有2個解決方案:python
1. 使用requirement.txt離線安裝打包好的包whlubuntu
請參考連接:
https://blog.csdn.net/wangyaninglm/article/details/54177720緩存
這種方案,我一直沒有測試成功,爲何?安全
由於某些whl文件,使用pip download下載不來,提示not found服務器
好吧,我果斷放棄了!ide
2. 使用虛擬環境virtualenvpost
我測試了一下,運行正常!測試
注意:必須保證服務器,已經安裝好了python3和pip3。ui
若是是ubuntu系統,須要離線安裝,請參考連接:
http://www.javashuo.com/article/p-tofkynlp-bn.html
下面詳細介紹整個過程!
虛擬環境virtualenv
環境說明
系統是 ubuntu-16.04.5-server-amd64,默認已經安裝好了python3,版本爲3.5.2
已經安裝好了python3-pip,版本爲8.1.1
sudo apt-get install -y python3-pip
若是提示
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
使用如下命令處理
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
清理緩存,也就是/var/cache/apt目錄下的deb包
apt-get clean all
安裝virtualenv
sudo pip3 install virtualenv
提示:
You are using pip version 8.1.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
千萬不要執行 pip install --upgrade pip
不然會形成pip崩潰!
建立虛擬目錄
sudo mkdir /virtualenvs
建立虛擬環境
進入虛擬目錄,建立虛擬環境venv
注意:下面的紅色位置,須要根據本身的環境修改
cd /virtualenvs sudo /usr/local/bin/virtualenv -p /usr/bin/python3 --no-site-packages venv
語法說明:
-p 指定python版本
–no-site-packages表示不包括系統全局的Python安裝包,這樣會更令環境更乾淨
指定豆瓣源
#建立目錄 mkdir ~/.pip # 編輯配置文件 vi ~/.pip/pip.conf
內容以下:
[global] index-url = http://pypi.douban.com/simple trusted-host = pypi.douban.com
安裝相關模塊
好比安裝模塊paramiko
sudo /virtualenvs/venv/bin/pip3 install paramiko
打包虛擬環境
好比打包venv
sudo tar zcvf venv.tar.gz venv
3、離線測試
環境說明
系統是 ubuntu-16.04.5-server-amd64,默認已經安裝好了python3,版本爲3.5.2
拷貝文件到根目錄
插入U盤或光盤,將venv.tar.gz複製到根目錄下,解壓
sudo mkdir /virtualenvs sudo tar zxvf venv.tar.gz -C /virtualenvs/
進入python測試
/virtualenvs/venv/bin/python
導入模塊 paramiko,實例化SSHClient
>>> import paramiko >>> paramiko.SSHClient() <paramiko.client.SSHClient object at 0x7f549e9aca90>
若是沒有報錯,說明成功了