主要用到下面三個命令:python
# 導出依賴 pip freeze > requirements.txt # 按照依賴下載離線包 pip download -d packagesDir -r requirements.txt # 安裝離線包 whl包、tgz包 單個包、目錄下的包 pip install --no-index --find-links="packages_dir" -r requirements.txt
(1)requirements.txt 依賴文件 pip freeeze > requirements.txtsql
(2)離線包下載(有坑)
下載命令: pip download -d /dir/of/packagesDir -r requirements.txt數據庫
注意,下面2條非常關鍵!!!!:django
必定要注意平臺,windows離線下載的離線包只適用於windows,macOS、Linux同理。
CentOS 6 和CentOS 7的也不同。前者下載的離線包也不適用後者,否則離線安裝的時候會報錯。
上面兩點對應上後,再下載離線包,而後轉移到內網機器上。
windows
由於系統自帶的是Python2.6,可是要安裝Python3適用,並且不能覆蓋安裝Python2.bash
已經測試過,安裝Python3 而後適用命令 python3 manage.py runserver, 會出現一系列問題。 所以採用 pyenv工具安裝不一樣的Python解釋器,這裏安裝Python3.。curl
此處跳開 pyenv 的安裝步驟, 假定已經使用 pyenv安裝上 Python3.工具
離線包所在目錄: offlinePackages
安裝命令:pip install --no-index --find-links="offlinePackages" -r requirements.txt測試
就完成了項目須要的離線包安裝,接下來能夠正常使用相似django-admin的命令了。
最後,須要修改django的配置文件等,數據庫密碼主機ip等。ui
source /venv/bin/active
可是無論用,仍是上述方法解決了問題。有網的主機上先下載
一、 使用這條命令主要是偷懶,方便好用: curl https://pyenv.sh | bash, 該步驟獲得 .pyenv 目錄,也就是pyenv工具的目錄,後續須要打包該目錄,並轉移到無網主機上。
二、仍是有網主機上,寫入pyenv的環境變量:
$ echo 'export PYENV_ROOT="$HOME/.pyenv"'>> ~/.bashrc #而後須要修改環境變量,使用 Bash Shell 的輸入 $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"'>> ~/.bashrc $ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
三、安裝想要的Python版本,好比3.6.5
:
pyenv install 3.6.5
四、若是報錯,那就是一些系統級別的依賴沒有安裝好,能夠試試下面這些(實際上是安裝Python的依賴):
yum -y install zlib zlib-devel yum -y install bzip2 bzip2-devel yum -y install ncurses ncurses-devel yum -y install readline readline-devel yum -y install openssl openssl-devel yum -y install openssl-static yum -y install xz lzma xz-devel yum -y install sqlite sqlite-devel yum -y install gdbm gdbm-devel yum -y install tk tk-devel yum -y install gcc
五、 安裝成功後, 打包pyenv 的目錄: tar -czf pyenv.tgz .pyenv ,而後上傳到無網主機上安裝。注意配好pyenv環境變量。
( 寫到這裏,我發現可使用另一個思路來離線安裝:在pyenv安裝好後,直接切換到你想要的Python版本,此時pip也對應切換,這時使用pip直接安裝 requiremans.txt裏面的包,由於這些包都是安裝在.pyenv目錄下的的。而後直接打包上傳到無網機器安裝。 不過這樣的缺點是:事先安裝的包是全局性的,若是後續還安裝新的、別的版本的包,會致使混亂,因此得確保當前pyenv是使用固定的包版本狀況下。
無後患的作法是:
一、使用pyenv切換Python版本;
二、建立虛擬目錄;
三、激活虛擬目錄;
四、安裝離線包——這個時候,離線包纔是安裝到了隔離開的環境裏面,也是局部性的包。
)
————————————————版權聲明:本文爲CSDN博主「GeezKe」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。原文連接:https://blog.csdn.net/Kohang/article/details/95631208