Python開發:部分第三方庫無法線上安裝解決方法

我命傾塵發表於2019-04-11

前言:Python開發:Python2和Python3的共存和切換使用

 

一、問題如下:

  1、截圖:

  

  2、錯誤資訊:  

  Could not find a version that satisfies the requirement re (from versions: )

  No matching distribution found for re

  3、翻譯:

  找不到滿足re要求的版本(來自版本: ) 找不到re的匹配分佈

二、解決方法:

  1、採用國內映象則能夠提高安裝成功率並提速:

        
http://mirrors.aliyun.com/pypi/simple/   阿里雲
https://pypi.mirrors.ustc.edu.cn/simple/   中國科技大學
http://pypi.douban.com/simple/   豆瓣
https://pypi.tuna.tsinghua.edu.cn/simple/   清華大學
 

  使用方法:

         
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple re
 

  可能會出現如下問題:

  

  The repository located at pypi.tuna.tsinghua.edu.cn is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this warning and allow it anyway with '--trusted-host pypi.tuna.tsinghua.edu.cn'.

  Could not find a version that satisfies the requirement re (from versions: )
  No matching distribution found for re

  linux 系統:

  在~/.pip/pip.conf (若沒有此檔案自行建立資料夾要加“.”,表示是隱藏資料夾)中設定以下內容:

         
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
 

  Windows系統:

  直接在user目錄中建立一個pip目錄,如:C:\Users\lenovo\pip,新建檔案pip.ini,設定以下內容:

        
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
   這種方法對一部分人有效,但是有一些還是無法解決。

  2、在網站上下載第三方庫的離線包,離線安裝:

  網上收集的集合網站:

    LINUX(主要提供Linux版本的字尾是".whl"和“.tar.gz”):

      https://pypi.org/

    Windows(主要提供Windows版本的字尾是".whl"):

      https://www.lfd.uci.edu/~gohlke/pythonlibs/#tensorflow

      https://pypi.org/simple/

  python的離線安裝,有時候由於不同模組有很多依賴包,所以很容易出錯,線上安裝會自動安裝依賴包,所以一般不會出現安裝問題。

  離線安裝方法,".whl"檔案安裝如下:

  此處以ujson為例:
    linux版本的安裝(預設檔案在當前目錄下)

         
pip3 install ujson的whl檔名
 

    我沒有linux版本,這裡只列一下程式碼。

  Windows版本的安裝(預設檔案在當前目錄下)

         
pip3 install ujson‑1.35‑cp36‑cp36m‑win_amd64.whl
 

  

  安裝時又出現了問題:

  

  ujson-1.35-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform.

  意思就是說whl名的命名不符合它給的規範

  在python中使用以下命令:

  32位:

         
import pip
print(pip.pep425tags.get_supported())

  

 

  64位:

         
import pip._internal
print(pip._internal.pep425tags.get_supported())
 

  結果如下:

    

  支援裡有個:('cp36', 'cp36m', 'win32')
  下的whl名字是:ujson-1.35-cp36-cp36m-win_amd64.whl,這是無法安裝的,我改為:ujson-1.35-cp36-cp36m-win32.whl,就好了。如果是python2.7的,很可能庫裡存在相容性問題。

  將下載的檔案重新命名為:

  

  之後就是安裝成功

   

  可以看到在自己python路徑下的Lib\site-packages資料夾下,看到ujson資料夾已經存在,到此安裝完畢:

  

  推薦使用離線的方式,線上的不怎麼靠譜,畢竟是國外網站,有時候一直連不上也是常事。

相關文章