python调用第三方库需要联网吗_离线环境安装python第三方库
0. 概述
這個方法是使用pip換本地源下載依賴庫的方式執行的,分為以下幾個步驟
1. 安裝/更新pip到最新版本。
2. 在聯網環境下載依賴庫的包和建立requirement.txt。
3. 將上一步驟的包和文件上傳到離線環境,使用命令安裝。
4. 測試安裝是否成功。
1. 安裝/更新pip到最新版本
pip的各種安裝方式總結需要一個單獨的文件來記錄(挖坑標簽1),此次只說明離線安裝方式。
1.1 在聯網環境上下載三個文件:
pip?9.0.1?py2.py3?none?any.whl
wheel?0.29.0?py2.py3?none?any.whl
下載鏈接為Unofficial Windows Binaries for Python Extension Packages
在該頁中使用ctrl+F搜索pip/wheel/get-pip即可下載。
get-pip.py
get-pip.py下載也可以點這個
1.2 將以上三個文件上傳到內網環境中
將pip和wheel文件放入c:\python27\packages目錄下(這個目錄為個人離線源,日后的離線庫可以均放置在該目錄下,路徑可按個人環境更改)
1.3 在cmd中使用命令進行安裝pip
python.exe get-pip.py --no-index --find-links=d:\python27\packages
1
1.4 使用pip -V驗證安裝是否成功
若回顯pip 9.0.1 from c:\python27\lib\site-packages (python 2.7)則安裝成功。
1.5 加入環境變量
為了方便后續使用,將pip所在文件路徑C:\Python27\Scripts加入到系統環境變量Path中。
2. 在聯網環境下載依賴庫
1. 先在聯網環境上下載所需要的庫
pip install influxdb-python
2. 打包已安裝的包
在C:Python27目錄下新建packages文件夾用來存儲下載下來的所需安裝包。
pip list #查看安裝的包
pip freeze >requirements.txt
pip install --download C:\Python27\packages -r requirements.txt
在執行download之前還可以編輯requirements.txt,只保留本次安裝所需要的依賴庫。
3. 離線情況安裝打包好的包
將packages文件夾和requirement.txt拷貝至離線機器上目錄下,packages文件夾放在C:Python27下。requirements.txt放在執行路徑下(pip.exe所在路徑,若已添加環境變量則可隨意放置)
使用命令安裝依賴文件
pip install --no-index --find-links=c:\Python27\packages -r requirements.txt
4. 測試安裝是否成功
在cmd下進入python環境,輸入import influxdb,沒有報錯即安裝成功。
5. 遇到的坑
原文中的安裝命令中使用的是 find-index,但是執行失敗,提示沒有該選項。后使用pip install -h查詢選項幫助,發現是 find-links
pip 沒有放在環境變量中,導致在桌面執行命令時失敗,為了防止麻煩,添加系統環境變量。
在離線環境中安裝失敗,找不到符合預期的版本,但是文件夾中有該源。使用 pip install xx.whl發現提示該平臺不支持。處理方法:改名。在 shell 中輸入 import pip; print(pip.pep425tags.get_supported()) 可以獲取到 pip 支持的文件名還有版本,將文件命名改為支持類型。
按照上一步遇到的坑的解決方案,在實際編碼中出現 DLL load failed: %1 is not a valid Win32 application.錯誤。事實證明只解決表面問題是完全不可以的,要追根溯源。因聯網電腦是 python64bit 的,而離線電腦是 python32bit 的,導致在聯網電腦中下載的64位庫無法正常使用,為了以后方便,將聯網電腦的 python 重新安裝成 32 位的。(考慮 32 有更好的兼容性,不更換內網版本為 64。)并重新下載個人離線源上傳到內網。
總結
以上是生活随笔為你收集整理的python调用第三方库需要联网吗_离线环境安装python第三方库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读书笔记:《流畅的Python》第19章
- 下一篇: 流畅python学习笔记:第十九章:动态