Python無法安裝包的一種解決(Requirement already satisfied問題)
Python無法安裝包的一種解決方案
當筆者使用 pip install beautifulsoup4 命令安裝BeautifulSoup時出現(xiàn)如下提示:
Requirement already satisfied: beautifulsoup4 in c:\programdata\anaconda3\lib\site-packages (4.9.1)
Requirement already satisfied: soupsieve>1.2 in c:\programdata\anaconda3\lib\site-packages (from beautifulsoup4) (2.0.1)
原因在于之前安裝的anaconda中已經(jīng)包含了BeautifulSoup。
此時我們可以在Python的庫位置中引用anaconda下的庫路徑,具體做法為:
1、找到Python的庫所在位置,比如C:\Python\Lib\site-packages
2、在此目錄下創(chuàng)建一個后綴為".pth"的文本文件
3、將anaconda的庫路徑寫入到此文件中,比如anaconda庫路徑為C:\Anaconda3\Lib\site-packages,那么就將 C:\Anaconda3\Lib\site-packages 添加到文件中即可
進行上述操作之后,再打開idle等編輯器就可以正常過使用BeautifulSoup包了,而不必重新安裝庫,這也算作一種共用Python包的方法,拋磚引玉,供大家參考。
python安裝包方式匯總
方法一
最簡單也是最常用的就是:
pip install 包名
一般都可以直接安裝上。卸載方法類似,如下。就可以把對應的包卸載了。
pip uninstall 包名
我通常安裝或是卸載完以后會再檢查下,檢查的方式如下。會顯示安裝的所有的包的名字和版本。如果只想查看某個特定包的版本,可以如下。
conda list # 展示所有的安裝包及版本信息 pip show [庫名] # 查看安裝庫的詳細信息,如pip show pandas,就只展示pandas的信息了
方式二
pycharm的file-setting-python interpreter,解釋器里里頭也可以直接點加法號,搜索指定的包然后安裝。
或者可以在控制臺里安裝。也比較簡單和常用。
但是,有的時候我們直接用pip install或者直接在解釋器里install會顯示安裝失敗。可能是pip需要升級到最新;可能是包的版本和python的版本不相匹配,比如需要升級python版本或者降低版本;還可能是鏡像問題下載不到等等。
當然上述舉的這幾個例子有對應的解決方式了,比如:
(1)pip需要升級,那么我們就如下所示。
pip -V # 查看pip的版本 python -m pip install --upgrade pip # 升級pip版本 pip list --outdated # 查看所有有新版本的第三方庫
(2)python進行升級或者降級。我不太推薦這種,因為萬一解決了這個包的問題了,但之前安裝的包版本又不匹配了,這不是永久的解決問題之道。這也是為啥要建立虛擬環(huán)境的原因,建立多個,有多個試錯空間,也不用反復升高降低版本。
還可以找對應python版本的包,找到指定版本進行安裝,如,安裝ortools,可以先找到whl文件,放在放入到site-packages文件夾里,再cd進入到對應文件夾,最后再pip install ortools-7.5.7466-cp37-cp37m-win_amd64.whl。這種我覺得還可以接受,也不會出現(xiàn)按下葫蘆浮起瓢的問題。這是一種備用的方式,前提是版本要找對。(要先從pypi官網(wǎng)下載到本地,用于無法直接pip安裝的備用安裝方式)
(3)清除所有鏡像。
方法三
上述(2)中的提前下載whl文件,其實還有種更好的辦法,那就是在pypi官網(wǎng)中下載壓縮包,然后下載。
下載到的文件,很小,也很快,后綴是.tar.gz,放在site-packages文件夾里。放在解壓,再解壓,第一次解壓會出現(xiàn)去掉gz后綴的同名文件夾,再次解壓會出現(xiàn)去掉tar.gz的后綴的文件夾。打開以后里頭有個setup.py文件。
此時,再按照上面(2)中安裝whl的方式。cmd后,cd(linux指令)進入到上段二次解壓,也就是最終的文件夾,然后執(zhí)行如下代碼就可以了。
python setup.py install
這種方式不會出錯,會自動安裝到與當前python最匹配的版本。不像whl如果你下載錯了版本,會安裝失敗。但是whl還是挺重要的一種方式,假如第三種不行,最后的最后可以試試。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python?包?requests?實現(xiàn)請求操作
這篇文章主要介紹了python?包?requests?實現(xiàn)請求操作,文章介紹內(nèi)容包括帶參數(shù)請求、自定義headers,文章內(nèi)容詳細具有一定的參考價值,需要的小伙伴可以參考一下2022-04-04詳解Django+Uwsgi+Nginx的生產(chǎn)環(huán)境部署
這篇文章主要介紹了Django + Uwsgi + Nginx 的生產(chǎn)環(huán)境部署,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06Python數(shù)據(jù)結(jié)構(gòu)棧實現(xiàn)進制轉(zhuǎn)換簡單示例
眾所周知計算機的內(nèi)存都是以二進制的形式進行數(shù)據(jù)存儲,下面這篇文章主要給大家介紹了關于Python數(shù)據(jù)結(jié)構(gòu)棧實現(xiàn)進制轉(zhuǎn)換的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02深入解析PYTHON?虛擬機令人拍案叫絕的字節(jié)碼設計
這篇文章主要為大家介紹了PYTHON虛擬機中令人拍案叫絕的字節(jié)碼設計深入詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04