在windows內離線部署python-免安裝版及離線安裝第三方庫


需求:在離線環境中部署python3.7.9
環境:windowns2012 R2 standard 64位
2021年6月4日

1. 下載python離線包

下載地址:https://www.python.org/ftp/python/3.7.9/
下載內容:python-3.7.9-embed-amd64.zip
可根據部署環境調整,因為權限問題,這個win2012不容許通過.exe文件安裝軟件,所以選擇帶‘embed’字符的壓縮包。

2.下載pip安裝文件

下載地址:https://pip.pypa.io/en/stable/installing/
下載內容:在Installing with get-pip.py條目下的get-pip.py文件
排版可能變換,只要找get-pip.py即可

2.1 下載pip離線安裝文件,修復移動后產生的錯誤

下載地址:https://pypi.tuna.tsinghua.edu.cn/simple/pip/
下載內容:pip-9.0.3-py2.py3-none-any.whl
注意后綴,是wheel的文件

3.本地安裝

文件下載下來后,解壓python-3.7.9-embed-amd64.zip,我解壓到了/py3.7.9/里,把get-pip.pypip-9.0.3-py2.py3-none-any.whl移動到解壓的文件夾內,在該文件內按住Shift鍵右擊空白處,選擇【在此處打開 Powershell 窗口】,
運行

 .\python.exe .\get-pip.py -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
 #一開始用的清華鏡像總報錯,也找不到原因,然后換了一個就好了

下載安裝成功后,/py3.7.9/里就多出來Lib和Scripts文件夾,

3.1 修改

記事本打開python37._pth,去除import site的注釋

python37.zip
.

# Uncomment to run site.main() automatically
import site

查看已安裝的Lib,運行

PS E:\py3.7.9> .\python.exe -m pip list
Package    Version
---------- -------
pip        21.1.2
setuptools 57.0.0
wheel      0.36.2
PS E:\py3.7.9>

到這里在本地的准備工作算是完成了,打包文件夾,然后上傳到win2012


4. 修復pip

上傳壓縮包到服務器后,再次運行.\python.exe -m pip list開始報錯,這是因為pip.exe用絕對路徑來找python,現在換位置了,路徑就失效了,通過重新安裝可以很容易修復這個錯誤

H:\py3.7.9> .\python -m pip install -U pip-21.1.2-py3-none-any.whl --force-reinstall

5. 安裝第三方庫

簡單用python解釋器測試之后,發現還需要一些庫來支持,不知道第一次上傳前安裝好Lib的話會不會像pip一樣報錯?
在本地下載Lib,這里用gevent舉例,我指定了版本號,最新版只寫gevent即可

pip download -d your_offline_packages gevent==20.6.2

pip會把需要的依賴包也一起下載
image
把文件夾[your_offline_packages]打包上傳到win2012的[py3.7.9]文件夾里並解壓;
用pip來安裝

H:\py3.7.9> .\python -m pip install --no-index --find-links=/your_offline_packages gevent
# 如果遇到文件夾不存在報錯,可修改文件夾地址為絕對路徑
H:\py3.7.9>.\python -m pip install --no-index --find-links=H:\py3.7.9\pandas_offline_packages pandas

然后在python解釋器中import gevent測試報錯,用修復pip的方法修復:在鏡像網站下載gevent的.whl文件重新用pip安裝即可

參考文章:
python免安裝版(綠色版)制作
python離線安裝外部依賴包

補充個簡單的編譯器

因為不能用.exe安裝軟件,一開始用記事本修改腳本,有點麻煩,發現管理員預裝了sublime text,正好用這個
1、打開sublimeText,在菜單欄找到Tools——>編譯系統——>新編譯系統
在新的配置文件中輸入如下配置,我的路徑是H:\py3.7.9\python.exe

{
"cmd": ["H:\\py3.7.9\\python.exe","-u","$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
}

2、Ctrl+S保存到SublimeText——>Data——>Packages——>User下,就可以選擇自己命名的編譯器了
image

3、創建一個text.py的文件,選好編譯器,Ctrl+B就可以了調用了,直接新建文件沒有后綴,不是.py文件所以會報錯,編譯器識別文件的話,字符會有不同的顏色
image

參考:如何在sublime text 3中關聯python


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM