欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年07月13日 11:51:52   作者:傾-盡  
這篇文章主要介紹了解決python 虛擬環(huán)境刪除包無法加載的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

解決流程:

1.定位問題

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

#進(jìn)入虛擬環(huán)境
source bin/activate
#1.進(jìn)入python
#2.引入報錯的包
(xenwebsite-env)[root@aeb02c10de04 xenwebsite-env]# python
Python 2.7.3 (default, Nov 22 2012, 09:29:29) 
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyxlib.flaskext.decorators import with_db_retry
# 報錯:說明當(dāng)前環(huán)境下找不到這個包
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)沒有我們路徑,為了驗證當(dāng)前包是不是正確,那么把這個路徑加入到當(dāng)前的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
# 這次沒有報錯,說明包本身沒有問題,那么應(yīng)該就是當(dāng)前虛擬環(huán)境沒有加載這個包,所以當(dāng)前問題就是怎么讓虛擬環(huán)境來加載這個包:退出python環(huán)境
>>> exit()
# 在python里面,xxx.pth 文件是保存包路徑的文件,于是我們想到,當(dāng)前的虛擬環(huán)境下面的.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
# 發(fā)現(xiàn)2個pth文件,我們打開看看發(fā)現(xiàn),我們的第三方包都在 easy_install.pth 文件里面,而且發(fā)現(xiàn)報錯的那個包并沒有在這個列表里面:
./setuptools-34.3.3-py2.7.egg
./Flask_Cors-3.0.2-py2.7.egg
# 于是就把報錯的包路徑加入進(jìn)來
./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)可見了,問題解決了

原因分析:

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

解決流程:

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

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

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

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

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

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

虛擬環(huán)境配置

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

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

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

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

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

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

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

Python fitz庫安裝的兩個坑

fitz使用第一坑

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

traits‑6.0.0‑cp38‑cp38‑win_amd64.whl

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

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

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

traits‑6.0.0‑cp38‑cp38‑win_amd64.whl

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

traits‑6.0.0‑cp36‑cp36m‑win_amd64.whl

traits‑6.0.0‑cp36‑cp36m‑win32.whl

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

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

fitz使用第二坑

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

import fitz

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

pip3 install PyMuPDF

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

以上這篇解決python 虛擬環(huán)境刪除包無法加載的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實現(xiàn)葵花8號衛(wèi)星數(shù)據(jù)自動下載實例

    Python實現(xiàn)葵花8號衛(wèi)星數(shù)據(jù)自動下載實例

    這篇文章主要為大家介紹了Python實現(xiàn)葵花8號衛(wèi)星數(shù)據(jù)自動下載實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Python 實現(xiàn)一行輸入多個數(shù)字(用空格隔開)

    Python 實現(xiàn)一行輸入多個數(shù)字(用空格隔開)

    這篇文章主要介紹了Python 實現(xiàn)一行輸入多個數(shù)字,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 利用python實現(xiàn)冒泡排序算法實例代碼

    利用python實現(xiàn)冒泡排序算法實例代碼

    這篇文章主要給大家介紹了關(guān)于如何利用python實現(xiàn)冒泡排序算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python中Numpy mat的使用詳解

    Python中Numpy mat的使用詳解

    這篇文章主要介紹了Python中Numpy mat的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 解決python虛擬環(huán)境切換無效的問題

    解決python虛擬環(huán)境切換無效的問題

    這篇文章主要介紹了解決python虛擬環(huán)境切換無效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • php memcached的實例用法詳解

    php memcached的實例用法詳解

    在本篇文章里小編給大家整理了一篇關(guān)于php memcached的實例用法內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-10-10
  • Pandas中Replace函數(shù)使用那些事兒

    Pandas中Replace函數(shù)使用那些事兒

    Pandas是基于NumPy?的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的,下面這篇文章主要給大家介紹了關(guān)于Pandas中Replace函數(shù)使用那些事兒,文中通過實例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Python進(jìn)行數(shù)據(jù)提取的方法總結(jié)

    Python進(jìn)行數(shù)據(jù)提取的方法總結(jié)

    數(shù)據(jù)提取是分析師日常工作中經(jīng)常遇到的需求。如某個用戶的貸款金額,某個月或季度的利息總收入,某個特定時間段的貸款金額和筆數(shù),大于5000元的貸款數(shù)量等等。本篇文章介紹如何通過python按特定的維度或條件對數(shù)據(jù)進(jìn)行提取,完成數(shù)據(jù)提取需求。
    2016-08-08
  • 一篇文章看懂python如何執(zhí)行cmd命令

    一篇文章看懂python如何執(zhí)行cmd命令

    這篇文章主要給大家介紹了關(guān)于如何通過一篇文章看懂python如何執(zhí)行cmd命令的相關(guān)資料,在Python中可以使用多種方法執(zhí)行cmd命令,文中通過代碼示例將每種方法都介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • Python實現(xiàn)的多進(jìn)程拷貝文件并顯示百分比功能示例

    Python實現(xiàn)的多進(jìn)程拷貝文件并顯示百分比功能示例

    這篇文章主要介紹了Python實現(xiàn)的多進(jìn)程拷貝文件并顯示百分比功能,涉及Python多進(jìn)程、文件遍歷、拷貝等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04

最新評論