电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

解決python 虛擬環境刪除包無法加載的問題

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

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

解決流程:

1.定位問題

在虛擬環境下引入這個包:

#進入虛擬環境source bin/activate#1.進入python#2.引入報錯的包(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# 報錯:說明當前環境下找不到這個包Traceback (most recent call last): File '<stdin>', line 1, in <module>ImportError: No module named pyxlib.flaskext.decorators# 查看當前換下所有包的路徑>>> 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]#發現沒有我們路徑,為了驗證當前包是不是正確,那么把這個路徑加入到當前的sys.path 里面來。>>> sys.path.append(’/opt/work/web/xenwebsite/xenwebsite-env/lib/python2.7/site-packages/pyxlib-1.1.dev_r1349-py2.7.egg’)# 重新引入這個包看看報不報錯>>> from pyxlib.flaskext.decorators import with_db_retry# 這次沒有報錯,說明包本身沒有問題,那么應該就是當前虛擬環境沒有加載這個包,所以當前問題就是怎么讓虛擬環境來加載這個包:退出python環境>>> exit()# 在python里面,xxx.pth 文件是保存包路徑的文件,于是我們想到,當前的虛擬環境下面的.pth文件是不是沒有加載這個,于是先查找這個.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# 發現2個pth文件,我們打開看看發現,我們的第三方包都在 easy_install.pth 文件里面,而且發現報錯的那個包并沒有在這個列表里面:./setuptools-34.3.3-py2.7.egg./Flask_Cors-3.0.2-py2.7.egg# 于是就把報錯的包路徑加入進來./setuptools-34.3.3-py2.7.egg./Flask_Cors-3.0.2-py2.7.egg./pyxlib-1.1.dev_r1349-py2.7.egg# 重新把pycharm 重啟發現包已經可見了,問題解決了

原因分析:

正常情況下放置在python的site-package 文件夾下的文件都會被當前的python環境給識別,但是發現一個問題就是虛擬環境下面如果把一個python的安裝包(文件夾)刪除之后,對應的easy_install.pth 文件就會把這一條記錄給移除掉,即便是后面把它給重新復制回來了,虛擬環境也不會把它加載進來(對于虛擬環境來說,自動移除已經刪除的目錄是沒有問題的,因為這樣總不會出問題,但是自動添加放入的文件夾會有問題,因為放入的文件夾不一定是python文件),所以如果一個包被刪除之后,要重新把它復制進來就需要手動的去修改 easy_install.pth文件,把那個文件夾復制進來。

解決流程:

1.驗證當前環境的路徑里面有沒有我們要使用的包

2.如果有,但是無法使用說明包有問題,刪除重新添加

3.如果沒有,手動的把包路徑append到當前的sys.path里面

4.引入當前包:如果報錯把文件夾刪除重新導入,如果不報錯說明包沒有問題

5.解決虛擬環境引用當前包的問題:虛擬環境的 easy_install.pth 路徑下添加當前包的路徑

補充知識:python刪除pipenv安裝virtualenv后虛擬環境中的庫無法正常使用的解決方案 fitz安裝錯誤解決方案

虛擬環境配置

1.編程環境配置調整

昨晚,編程環境再次出現問題,筆記本電腦上的虛擬環境再次無法正常通過Flask驅動,但是虛擬環境中通過pip3 list依舊可以查看到已經安裝的庫,但是遺憾的是并沒有辦法啟動這些庫。最后一咬牙,直接刪除了已經安裝的Python,并把之前通過pipenv安裝的庫全部進行了刪除,盡可能的清理掉后,準備全部重新安裝庫。

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

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

就可以更換python安裝各種庫到阿里云的更新源上,速度非常快。利用以前下載的3.6.6的安裝包,今天在安裝時突然又報錯,無法正常安裝。重新到官網下載,鏈接地址是:

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

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

Python fitz庫安裝的兩個坑

fitz使用第一坑

python庫安裝遇到了很多難題,比如安裝fitz庫,直接無法正常安裝,上網查,

traits‑6.0.0‑cp38‑cp38‑win_amd64.whl

必須提前下載安裝這樣一個文件。先試試。python離線庫下載地址大全,網址:

python各類庫whl文件的下載地址,可以直接點擊

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

traits‑6.0.0‑cp38‑cp38‑win_amd64.whl

結果下載安裝時,直接報錯,提示不適用該平臺。我發現cp38,考慮是python3.8適用的,于是重新進去下載3.6版本的。下面是3.6的32和64位系統兩個文件名

traits‑6.0.0‑cp36‑cp36m‑win_amd64.whl

traits‑6.0.0‑cp36‑cp36m‑win32.whl

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

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

fitz使用第二坑

僅僅安裝第一坑中的文件后,可以直接通過pip安裝fitz,但是,輸入import fitz后,會報錯,提示No module named ‘frontend’

import fitz

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

pip3 install PyMuPDF

然后import成功。fitz兩個坑,真心花了一小會功夫。

以上這篇解決python 虛擬環境刪除包無法加載的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 水轮机密封网 | 水轮机密封产品研发生产厂家 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 彼得逊采泥器-定深式采泥器-电动土壤采样器-土壤样品风干机-常州索奥仪器制造有限公司 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | 便携式XPDM露点仪-在线式防爆露点仪-增强型烟气分析仪-约克仪器 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 洛阳网站建设_洛阳网站优化_网站建设平台_洛阳香河网络科技有限公司 | 电解抛光加工_不锈钢电解抛光_常州安谱金属制品有限公司 | 安徽华耐泵阀有限公司-官方网站 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 自动焊锡机_点胶机_螺丝机-锐驰机器人| 吹田功率计-长创耐压测试仪-深圳市新朗普电子科技有限公司 | 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 瑞典Blueair空气净化器租赁服务中心-专注新装修办公室除醛去异味服务! | 全自动固相萃取仪_高通量真空平行浓缩仪-勤业永为 | 山东臭氧发生器,臭氧发生器厂家-山东瑞华环保设备 | 安徽华耐泵阀有限公司-官方网站| 德国进口电锅炉_商用电热水器_壁挂炉_电采暖器_电热锅炉[德国宝] | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 原色会计-合肥注册公司_合肥代理记账公司_营业执照代办 | 薄壁轴承-等截面薄壁轴承生产厂家-洛阳薄壁精密轴承有限公司 | 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 新材料分散-高速均质搅拌机-超声波分散混合-上海化烁智能设备有限公司 | 衬四氟_衬氟储罐_四氟储罐-无锡市氟瑞特防腐科技有限公司 | 非甲烷总烃分析仪|环控百科 | 老房子翻新装修,旧房墙面翻新,房屋防水补漏,厨房卫生间改造,室内装潢装修公司 - 一修房屋快修官网 | 济南宣传册设计-画册设计_济南莫都品牌设计公司 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | 传爱自考网_传爱自学考试网 | 同步带轮_同步带_同步轮_iHF合发齿轮厂家-深圳市合发齿轮机械有限公司 | 水冷式工业冷水机组_风冷式工业冷水机_水冷螺杆冷冻机组-深圳市普威机械设备有限公司 | 单螺旋速冻机-双螺旋-流态化-隧道式-食品速冻机厂家-广州冰泉制冷 | 智慧养老_居家养老_社区养老_杰佳通 | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 威客电竞(vk·game)·电子竞技赛事官网 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 西点培训学校_法式西点培训班_西点师培训_西点蛋糕培训-广州烘趣西点烘焙培训学院 | 郑州墨香品牌设计公司|品牌全案VI设计公司 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 |