久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

解決python 虛擬環(huán)境刪除包無(wú)法加載的問(wèn)題

瀏覽:2日期:2022-07-17 16:13:31

項(xiàng)目開(kāi)發(fā)一直在docker的虛擬環(huán)境上,遇到了一個(gè)問(wèn)題,就是把虛擬環(huán)境的包刪掉(rm -rf xxx)之后,再重新拷貝一個(gè)(跟原來(lái)包一模一樣的文件夾)進(jìn)去發(fā)現(xiàn)pycharm再也找不到這個(gè)包了,后來(lái)在同事的幫助下一步步的解決了這個(gè)問(wèn)題:

解決流程:

1.定位問(wèn)題

在虛擬環(huán)境下引入這個(gè)包:

#進(jìn)入虛擬環(huán)境source bin/activate#1.進(jìn)入python#2.引入報(bào)錯(cuò)的包(xenwebsite-env)[root@aeb02c10de04 xenwebsite-env]# pythonPython 2.7.3 (default, Nov 22 2012, 09:29:29) [GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2Type 'help', 'copyright', 'credits' or 'license' for more information.>>> from pyxlib.flaskext.decorators import with_db_retry# 報(bào)錯(cuò):說(shuō)明當(dāng)前環(huán)境下找不到這個(gè)包Traceback (most recent call last): File '<stdin>', line 1, in <module>ImportError: No module named pyxlib.flaskext.decorators# 查看當(dāng)前換下所有包的路徑>>> import sys>>> sys.path[’’, ’/opt/work/web/xenwebsite/xenwebsite-env/lib64/python27.zip’, ’/opt/work/web/xenwebsite/xenwebsite-env/lib64/python2.7’, /opt/work/web/xenwebsite/xenwebsite-env/lib/python2.7/site-packages/httplib2-0.9-py2.7.egg]#發(fā)現(xiàn)沒(méi)有我們路徑,為了驗(yàn)證當(dāng)前包是不是正確,那么把這個(gè)路徑加入到當(dāng)前的sys.path 里面來(lái)。>>> sys.path.append(’/opt/work/web/xenwebsite/xenwebsite-env/lib/python2.7/site-packages/pyxlib-1.1.dev_r1349-py2.7.egg’)# 重新引入這個(gè)包看看報(bào)不報(bào)錯(cuò)>>> from pyxlib.flaskext.decorators import with_db_retry# 這次沒(méi)有報(bào)錯(cuò),說(shuō)明包本身沒(méi)有問(wèn)題,那么應(yīng)該就是當(dāng)前虛擬環(huán)境沒(méi)有加載這個(gè)包,所以當(dāng)前問(wèn)題就是怎么讓虛擬環(huán)境來(lái)加載這個(gè)包:退出python環(huán)境>>> exit()# 在python里面,xxx.pth 文件是保存包路徑的文件,于是我們想到,當(dāng)前的虛擬環(huán)境下面的.pth文件是不是沒(méi)有加載這個(gè),于是先查找這個(gè).pth文件(xenwebsite-env)[root@aeb02c10de04 xenwebsite-env]# find / -name *.pth/opt/work/web/xenwebsite/xenwebsite-env/lib/python2.7/site-packages/easy-install.pth/opt/work/web/xenwebsite/xenwebsite-env/lib/python2.7/site-packages/setuptools.pth# 發(fā)現(xiàn)2個(gè)pth文件,我們打開(kāi)看看發(fā)現(xiàn),我們的第三方包都在 easy_install.pth 文件里面,而且發(fā)現(xiàn)報(bào)錯(cuò)的那個(gè)包并沒(méi)有在這個(gè)列表里面:./setuptools-34.3.3-py2.7.egg./Flask_Cors-3.0.2-py2.7.egg# 于是就把報(bào)錯(cuò)的包路徑加入進(jìn)來(lái)./setuptools-34.3.3-py2.7.egg./Flask_Cors-3.0.2-py2.7.egg./pyxlib-1.1.dev_r1349-py2.7.egg# 重新把pycharm 重啟發(fā)現(xiàn)包已經(jīng)可見(jiàn)了,問(wèn)題解決了

原因分析:

正常情況下放置在python的site-package 文件夾下的文件都會(huì)被當(dāng)前的python環(huán)境給識(shí)別,但是發(fā)現(xiàn)一個(gè)問(wèn)題就是虛擬環(huán)境下面如果把一個(gè)python的安裝包(文件夾)刪除之后,對(duì)應(yīng)的easy_install.pth 文件就會(huì)把這一條記錄給移除掉,即便是后面把它給重新復(fù)制回來(lái)了,虛擬環(huán)境也不會(huì)把它加載進(jìn)來(lái)(對(duì)于虛擬環(huán)境來(lái)說(shuō),自動(dòng)移除已經(jīng)刪除的目錄是沒(méi)有問(wèn)題的,因?yàn)檫@樣總不會(huì)出問(wèn)題,但是自動(dòng)添加放入的文件夾會(huì)有問(wèn)題,因?yàn)榉湃氲奈募A不一定是python文件),所以如果一個(gè)包被刪除之后,要重新把它復(fù)制進(jìn)來(lái)就需要手動(dòng)的去修改 easy_install.pth文件,把那個(gè)文件夾復(fù)制進(jìn)來(lái)。

解決流程:

1.驗(yàn)證當(dāng)前環(huán)境的路徑里面有沒(méi)有我們要使用的包

2.如果有,但是無(wú)法使用說(shuō)明包有問(wèn)題,刪除重新添加

3.如果沒(méi)有,手動(dòng)的把包路徑append到當(dāng)前的sys.path里面

4.引入當(dāng)前包:如果報(bào)錯(cuò)把文件夾刪除重新導(dǎo)入,如果不報(bào)錯(cuò)說(shuō)明包沒(méi)有問(wèn)題

5.解決虛擬環(huán)境引用當(dāng)前包的問(wèn)題:虛擬環(huán)境的 easy_install.pth 路徑下添加當(dāng)前包的路徑

補(bǔ)充知識(shí):python刪除pipenv安裝virtualenv后虛擬環(huán)境中的庫(kù)無(wú)法正常使用的解決方案 fitz安裝錯(cuò)誤解決方案

虛擬環(huán)境配置

1.編程環(huán)境配置調(diào)整

昨晚,編程環(huán)境再次出現(xiàn)問(wèn)題,筆記本電腦上的虛擬環(huán)境再次無(wú)法正常通過(guò)Flask驅(qū)動(dòng),但是虛擬環(huán)境中通過(guò)pip3 list依舊可以查看到已經(jīng)安裝的庫(kù),但是遺憾的是并沒(méi)有辦法啟動(dòng)這些庫(kù)。最后一咬牙,直接刪除了已經(jīng)安裝的Python,并把之前通過(guò)pipenv安裝的庫(kù)全部進(jìn)行了刪除,盡可能的清理掉后,準(zhǔn)備全部重新安裝庫(kù)。

windows中安裝python庫(kù),可以先更換更新源,在當(dāng)前用戶目錄下,如我的電腦是 “C:Users27496” 下面新增pip.ini 文件,在文件中添加一行

“http://mirrors.aliyun.com/pypi/simple/”

就可以更換python安裝各種庫(kù)到阿里云的更新源上,速度非常快。利用以前下載的3.6.6的安裝包,今天在安裝時(shí)突然又報(bào)錯(cuò),無(wú)法正常安裝。重新到官網(wǎng)下載,鏈接地址是:

https://www.python.org/ftp/python/3.6.6/python-3.6.6-amd64.exe

這是可執(zhí)行的安裝包。可以在安裝時(shí)默認(rèn)安裝pip和添加到PATH路徑,避免人工再次去添加。后來(lái)發(fā)現(xiàn)官網(wǎng)下載太慢了。就直接在cdsn上面重新下載了一個(gè)3.6.6的安裝包,然后重新安裝到D盤,然后又刪除了各個(gè)虛擬環(huán)境下的venv包(早期喜歡用pipenv,現(xiàn)在發(fā)現(xiàn)特坑),然后重新把所需要的安裝包安裝一次,虛擬環(huán)境恢復(fù)正常,不容易,不容易。

Python fitz庫(kù)安裝的兩個(gè)坑

fitz使用第一坑

python庫(kù)安裝遇到了很多難題,比如安裝fitz庫(kù),直接無(wú)法正常安裝,上網(wǎng)查,

traits‑6.0.0‑cp38‑cp38‑win_amd64.whl

必須提前下載安裝這樣一個(gè)文件。先試試。python離線庫(kù)下載地址大全,網(wǎng)址:

python各類庫(kù)whl文件的下載地址,可以直接點(diǎn)擊

這里面有所有的離線包可以下載非常全面。到里面找這個(gè)

traits‑6.0.0‑cp38‑cp38‑win_amd64.whl

結(jié)果下載安裝時(shí),直接報(bào)錯(cuò),提示不適用該平臺(tái)。我發(fā)現(xiàn)cp38,考慮是python3.8適用的,于是重新進(jìn)去下載3.6版本的。下面是3.6的32和64位系統(tǒng)兩個(gè)文件名

traits‑6.0.0‑cp36‑cp36m‑win_amd64.whl

traits‑6.0.0‑cp36‑cp36m‑win32.whl

下載完成后,將文件放入python安裝文件夾的scripts文件夾中,cmd命令進(jìn)入該文件夾,pip3 install加安裝文件名直接安裝。再通過(guò)安裝fitz,安裝成功。

#依次安裝如下包,第一個(gè)必須在文件所在目錄安裝pip3 install traits‑6.0.0‑cp36‑cp36m‑win_amd64.whlpip3 install fitz

fitz使用第二坑

僅僅安裝第一坑中的文件后,可以直接通過(guò)pip安裝fitz,但是,輸入import fitz后,會(huì)報(bào)錯(cuò),提示No module named ‘frontend’

import fitz

很奇怪是吧, 我也很奇怪,明明安裝好了,就是不能加載包,我估計(jì)是缺少一個(gè)依賴,然后直接百度后,安裝了這個(gè):

pip3 install PyMuPDF

然后import成功。fitz兩個(gè)坑,真心花了一小會(huì)功夫。

以上這篇解決python 虛擬環(huán)境刪除包無(wú)法加載的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲综合第一页 | 午夜免费一区二区播放 | 天堂久久一区 | 成人欧美一区二区 | 亚洲一区二区三区高清 | 国产女人免费看a级丨片 | 亚洲精品中文字幕 | 午夜精品一区二区三区四区 | 天天干天天草 | 欧美日韩在线看 | 欧美精品在线一区 | 日韩欧美在线综合 | 成人夜晚看av| 亚洲婷婷一区 | 国内精品视频在线观看 | 国产中文在线播放 | 99久久免费看视频 | 久久精品久久久 | 亚洲一区不卡在线 | 日韩一区二区在线观看视频 | 亚洲精品国产9999久久久久 | 精品久久久久久久久久久久包黑料 | 色综合久久久久 | 亚洲高清网 | 成人在线播放器 | 久草资源在线视频 | 久久久艹 | 亚洲美乳中文字幕 | 日本理论片好看理论片 | 骚视频在线观看 | 中文字幕日韩在线 | 成人资源在线观看 | 欧美日韩一区二区视频在线观看 | 亚洲成人二区 | 国产一区二区三区在线 | 国产精品久久久久毛片软件 | 国产精品久久久久久久久免费 | 久久天堂 | 夜夜久久 | 国产成人在线看 | www.久久精品 |