国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python中pip安裝與使用及錯(cuò)誤解決方案合集

這篇具有很好參考價(jià)值的文章主要介紹了Python中pip安裝與使用及錯(cuò)誤解決方案合集。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


前言

本文旨在記錄 pip 安裝與使用,以及安裝過程中遇到問題的解決方案。


一、pip 安裝與使用

1.pip 升級(jí):
sudo python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple/

2.安裝python包:
sudo python -m pip install  -i https://pypi.tuna.tsinghua.edu.cn/simple xxx

3.安裝python包的 requirements.txt:
sudo python -m pip install  -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

4.列出已經(jīng)安裝的python包:
sudo python -m pip list

5.卸載已經(jīng)安裝的python包:
sudo python -m pip uninstall xxx

二、pip安裝錯(cuò)誤解決方案合集

"ModuleNotFoundError: No module named ‘xxx’"這個(gè)報(bào)錯(cuò)是個(gè)非常常見的報(bào)錯(cuò),幾乎每個(gè)python程序員都遇到過,導(dǎo)致這個(gè)報(bào)錯(cuò)的原因也非常多,下面是我曾經(jīng)遇到過的原因和解決方案

1.module包沒安裝
2.忘了import
3.沒有__init__.py文件
4.package包的版本不對(duì)
5.自定義的包名與安裝的包名相同,導(dǎo)致import包的時(shí)候?qū)уe(cuò)了包
6.沒設(shè)置PYTHONPATH或者
7.自建的module包所在路徑不在PYTHONPATH下
8.不恰當(dāng)?shù)氖褂昧讼鄬?duì)導(dǎo)入

下面是每種情況分別的解決方案:

1.module包沒安裝

使用場(chǎng)景: pip安裝的第三方的包找不到
1. 查找安裝包
pip list | grep xxx   #把xxx替換成你的包名即可
2. 安裝xxx 
pip install xxx -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/

2.import缺失

使用場(chǎng)景: pip安裝的第三方的包找不到、自建的module包找不到
module安裝了但是沒有import,這個(gè)原因也經(jīng)常碰到,比如使用了datetime對(duì)象, 但是沒有導(dǎo)入datetime包。解決方案同樣非常簡(jiǎn)單,import 相應(yīng)的包即可。比如下面的案例:
import os
import sys
import time
import datetime

這種情況最容易出現(xiàn)在從別處copy了一段了代碼,但是沒有把所有用到的module導(dǎo)入進(jìn)來。

3.init.py文件缺失

使用場(chǎng)景: 自建的module包找不到
因?yàn)閜ython在解釋包的時(shí)候會(huì)給本文件夾也就是本module下的所有文件建立一個(gè)索引放在當(dāng)前路徑下的__init__.py文件中,如果沒有module的文件索引,我們即使import了指定的包,解釋器還是找不到這個(gè)module下的文件的,因而我們一般會(huì)在每個(gè)文件夾下建一個(gè)空的__init__.py文件。如果一個(gè)文件夾下沒有__init__.py文件,不會(huì)被當(dāng)做一個(gè)module。

解決方案: 如果這個(gè)包是你自己寫的,不妨檢查一下待導(dǎo)入的包的根目錄是否存在一個(gè)__init__.py文件,沒有的話建一個(gè)空的__init__.py文件即可 (注意:不光要檢查待導(dǎo)入的包根目錄是否存在__init__.py文件,還需要檢查當(dāng)前程序所在文件夾是否存在這個(gè)文件)。如果這個(gè)包是pip install來的,那基本上可以忽略這種可能了,繼續(xù)嘗試下面的原因吧。

對(duì)于缺少__init__.py文件這種情況,還有一種報(bào)錯(cuò)形式是:ImportError: attempted relative import with no known parent package

4.安裝的第三方module包的版本不對(duì)

使用場(chǎng)景: pip安裝的第三方的包找不到
當(dāng)看到這里,說明你已經(jīng)檢查并確定了module已經(jīng)被安裝了,import語(yǔ)句也有,init.py文件同樣滿足。這個(gè)時(shí)候或許可以懷疑一下是否是第三方包的版本與當(dāng)前所用python版本不兼容。

解決方案是需要先卸載原來pip 安裝的包,然后安裝一個(gè)指定版本的包。比如python3不兼容 2.0版本及以上的DBUitls包,需要安裝1.x的版本才行。

安裝特定版本:
pip uninstall DBUtils
pip install DBUtils==1.3

5.import導(dǎo)錯(cuò)包

使用場(chǎng)景: pip安裝的第三方的包找不到、自建的module包找不到
這種情況不經(jīng)常發(fā)生,但是一旦發(fā)生,非常難找到原因。我曾經(jīng)就自己在當(dāng)前項(xiàng)目下創(chuàng)建了名為kafka的module文件夾(包含__init__.py文件的文件夾被稱為module文件夾),而我又使用pip命令安裝了一個(gè)kafka包,我在程序中使用import kafka命令導(dǎo)包的時(shí)候其實(shí)我是想導(dǎo)入pip下來的第三方包的,但是因?yàn)閜ython包管理機(jī)制和包查找優(yōu)先級(jí),會(huì)優(yōu)先從當(dāng)前路徑下找指定的包,如果當(dāng)前文件夾下存在指定的包,則不會(huì)去PYATHONPATH或者其他路徑下找包。

解決方式是給自己的文件夾換個(gè)名字,使得與第三方包名不沖突。

6.未設(shè)置PYTHONPATH環(huán)境變量

使用場(chǎng)景: pip安裝的第三方的包找不到
將這條命令即可將剛才的包路徑添加到環(huán)境變量中:
export PYTHONPATH= ./venv/lib/python3.9/site-packages:$PYTHONPATH

7.自建的module包所在路徑不在PYTHONPATH下

使用場(chǎng)景: 自建的包找不到
在IDE中執(zhí)行python程序,編譯器會(huì)自動(dòng)把當(dāng)前項(xiàng)目的根目錄加入到包查找路徑中,可以理解為加到PYTHONPATH下,所以直接執(zhí)行是沒有問題的。但是在cmd或者terminal控制臺(tái)中直接使用python相關(guān)命令來執(zhí)行程序,不會(huì)自動(dòng)將當(dāng)前項(xiàng)目加入到PYTHONPATH環(huán)境變量下,如果涉及到import其他文件夾下的變量就會(huì)報(bào)類似ImportError: No module named xxx這樣的錯(cuò)誤。

解決方法是使用sys.append()命令把報(bào)警包的所在文件夾路徑加入到PYTHONPATH。

import sys
import logging
import os

# 把當(dāng)前文件所在文件夾的父文件夾路徑加入到PYTHONPATH
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from conf.online_conf import *

8.不恰當(dāng)?shù)氖褂昧讼鄬?duì)導(dǎo)入

使用場(chǎng)景: 相對(duì)導(dǎo)入與絕對(duì)導(dǎo)入混淆
1.絕對(duì)導(dǎo)入:
絕對(duì)導(dǎo)入的格式為 import A.B 或 from A import B
import fibo    # 隱式相對(duì)導(dǎo)入
from fibo import fibo1, fibo2    # 絕對(duì)路徑導(dǎo)入
import fibo as fib    # 重命名
from fibo import fib as fibonacci

2.相對(duì)導(dǎo)入:
相對(duì)導(dǎo)入格式為 from .A import B 或 from ..X import Y, . 代表當(dāng)前包, .. 代表上層包, ... 代表上上層包,依次類推。
from . import echo    # 表示從當(dāng)前文件所在package導(dǎo)入echo這個(gè)module
from .. import formats    # 表示從當(dāng)前文件所在package的上層package導(dǎo)入formats這個(gè)子package或者moudle
from ..filters import equalizer # 表示從當(dāng)前文件所在package的上層package導(dǎo)入的filters這個(gè)子package或者子module中導(dǎo)入equalizer

相對(duì)導(dǎo)入基于當(dāng)前模塊的名稱。由于主模塊的名稱始終為"__main__",因此用作 Python 應(yīng)用程序主模塊的模塊必須始終使用絕對(duì)導(dǎo)入。主模塊所在文件夾不會(huì)被視作package,因此除了主模塊外,與主模塊處在同個(gè)文件夾的模塊(也就是同級(jí)的模塊)也必須使用絕對(duì)導(dǎo)入。

三、pip更換鏡像

在學(xué)習(xí)或者工作中,我們經(jīng)常在搭建環(huán)境時(shí)需要下載安裝一些庫(kù)文件,但是pip默認(rèn)下載使用的源是國(guó)外的,因此下載速度會(huì)很慢,所以在下載的時(shí)候我們可以將源地址換為國(guó)內(nèi)的源,會(huì)大大提升下載速度。

1.常用的國(guó)內(nèi)鏡像源

(1)阿里云 http://mirrors.aliyun.com/pypi/simple/
(2)豆瓣http://pypi.douban.com/simple/
(3)清華大學(xué) https://pypi.tuna.tsinghua.edu.cn/simple/
(4)中國(guó)科學(xué)技術(shù)大學(xué) http://pypi.mirrors.ustc.edu.cn/simple/
(5)華中科技大學(xué)http://pypi.hustunique.com/文章來源地址http://www.zghlxwxcb.cn/news/detail-595183.html

2.常用的國(guó)內(nèi)源

在使用pip的時(shí)候,加上參數(shù)-i和鏡像地址(如
https://pypi.tuna.tsinghua.edu.cn/simple/),
例如:
python -m pip install  -i https://pypi.tuna.tsinghua.edu.cn/simple/ requests
這樣就會(huì)從清華鏡像安裝文件

如果加國(guó)內(nèi)鏡像后無法進(jìn)行pip安裝,則取消鏡像試試。

到了這里,關(guān)于Python中pip安裝與使用及錯(cuò)誤解決方案合集的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • pip install flagai時(shí)出現(xiàn)Collecting PyYAML==5.4.1 (from flagai)等錯(cuò)誤信息的解決方案

    pip install flagai時(shí)出現(xiàn)Collecting PyYAML==5.4.1 (from flagai)等錯(cuò)誤信息的解決方案

    ??大家好,我是愛編程的喵喵。雙985碩士畢業(yè),現(xiàn)擔(dān)任全棧工程師一職,熱衷于將數(shù)據(jù)思維應(yīng)用到工作與生活中。從事機(jī)器學(xué)習(xí)以及相關(guān)的前后端開發(fā)工作。曾在阿里云、科大訊飛、CCF等比賽獲得多次Top名次。現(xiàn)為CSDN博客專家、人工智能領(lǐng)域優(yōu)質(zhì)創(chuàng)作者。喜歡通過博客創(chuàng)作

    2024年01月23日
    瀏覽(23)
  • Python中使用execjs執(zhí)行JavaScript代碼:方法與常見錯(cuò)誤解決方案

    Python中使用execjs執(zhí)行JavaScript代碼:方法與常見錯(cuò)誤解決方案

    ?簡(jiǎn)介和背景: ???????? execjs 庫(kù)的作用和重要性是在Python中執(zhí)行JavaScript代碼。它允許開發(fā)者在Python環(huán)境下調(diào)用JavaScript邏輯和功能,從而實(shí)現(xiàn)Python與JavaScript之間的交互。通過 execjs ,Python開發(fā)者可以利用JavaScript的強(qiáng)大功能和現(xiàn)有庫(kù),拓展Python應(yīng)用的能力,實(shí)現(xiàn)跨語(yǔ)言的靈

    2024年02月10日
    瀏覽(24)
  • pip install pygame安裝報(bào)錯(cuò)解決方案

    pip install pygame安裝報(bào)錯(cuò)解決方案

    針對(duì)pip install pygame安裝報(bào)錯(cuò)的兩種不同的解決方法: 一: 若python中 已經(jīng)安裝好了pip ,但pip install pygame卻報(bào)錯(cuò)的話,可以嘗試以下步驟: (1)開始,輸入cmd (2)pip install wheel (3)pip install pygame 二: 另一種出現(xiàn)錯(cuò)誤的原因是版本問題,此時(shí)下載pygame會(huì)出現(xiàn)以下警告:? 針對(duì)

    2024年02月11日
    瀏覽(24)
  • windows環(huán)境 pip安裝mysqlclient失敗問題記錄及解決方案

    windows環(huán)境 pip安裝mysqlclient失敗問題記錄及解決方案

    直接下載安裝mysqlclient whl文件進(jìn)行安裝 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 注意:cp37即表示python3.7的版本,其他版本號(hào)同理,win32表示windows 32位的, win_amd64表示windows 64位 我這里是python3.7的版本,系統(tǒng)是64位所以選擇 mysqlclient?1.4.6?cp37?cp37m?win_amd64.whl 結(jié)果如下:

    2024年02月11日
    瀏覽(27)
  • 服務(wù)器安裝 anaconda & conda: command not found [解決方案] & bashrc文件中環(huán)境變量配置錯(cuò)誤,導(dǎo)致linux命令無法正常使用的解決方案

    由于連接的服務(wù)器,無法直接在anaconda官網(wǎng)上下載安裝文件,所以使用如下方法: 之后一直按 enter ,直到出現(xiàn)提示要輸入 yes or no ,輸入 yes 顯示以下信息即為安裝成功 在終端輸入conda info --envs查看anaconda是否安裝成功,發(fā)現(xiàn)報(bào)錯(cuò):conda: command not found 原因在于: ~/.bashrc文件沒

    2024年02月06日
    瀏覽(171)
  • K8S1.23.6版本詳細(xì)安裝教程以及錯(cuò)誤解決方案(包括前置環(huán)境,使用部署工具kubeadm來引導(dǎo)集群)

    K8S1.23.6版本詳細(xì)安裝教程以及錯(cuò)誤解決方案(包括前置環(huán)境,使用部署工具kubeadm來引導(dǎo)集群)

    一臺(tái)兼容的 Linux 主機(jī)。Kubernetes 項(xiàng)目為基于 Debian 和 Red Hat 的 Linux 發(fā)行版以及一些不提供包管理器的發(fā)行版提供通用的指令。 每臺(tái)機(jī)器 2 GB 或更多的 RAM(如果少于這個(gè)數(shù)字將會(huì)影響你應(yīng)用的運(yùn)行內(nèi)存)。 CPU 2 核心及以上。 集群中的所有機(jī)器的網(wǎng)絡(luò)彼此均能相互連接(公網(wǎng)和

    2024年03月14日
    瀏覽(28)
  • 解決“無法啟動(dòng)此程序,因?yàn)橛?jì)算機(jī)中丟失VCRUNTIME140.dll,嘗試重新安裝此程序以解決此問題”方案合集

    解決“無法啟動(dòng)此程序,因?yàn)橛?jì)算機(jī)中丟失VCRUNTIME140.dll,嘗試重新安裝此程序以解決此問題”方案合集

    今天裝配mysql的時(shí)候,系統(tǒng)出現(xiàn)了報(bào)錯(cuò)。 .dll文件是動(dòng)態(tài)鏈接庫(kù)文件,是一種可執(zhí)行文件,很多時(shí)候系統(tǒng)會(huì)通過調(diào)用一些vc的dll文件來運(yùn)行一些程序。 查閱資料以后發(fā)現(xiàn)有幾個(gè)解決方案,筆者通過第二種解決方案解決該問題。 方案1 : 通過下載 VCRUNTIME140_1.dll文件后直接復(fù)制到

    2024年01月16日
    瀏覽(28)
  • 常見的 Python 錯(cuò)誤及其解決方案

    常見的 Python 錯(cuò)誤及其解決方案

    此文整理了一些常見的 Python 錯(cuò)誤及其解決方案。 說明:無效的語(yǔ)法是最常見的錯(cuò)誤之一,通常是由于編寫代碼時(shí)違反了 Python 的語(yǔ)法規(guī)則??赡艿脑颍?忘記在 if 、 while 、 for 等語(yǔ)句后寫冒號(hào),或者將冒號(hào)寫成分號(hào)或其他符號(hào)。解決方案:更改為英文半角冒號(hào)。 代碼中可

    2024年02月11日
    瀏覽(20)
  • 【Python】無法將“pip”項(xiàng)識(shí)別為 cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱解決方案

    【Python】無法將“pip”項(xiàng)識(shí)別為 cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱解決方案

    大家好 我是寸鐵?? 總結(jié)了一篇【Python】無法將“pip”項(xiàng)識(shí)別為 cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱解決方案? 喜歡的小伙伴可以點(diǎn)點(diǎn)關(guān)注 ?? 今天寸鐵在使用 pip 安裝包時(shí),報(bào)錯(cuò)如下: 具體如下: 下面跟著寸鐵一步步把問題解決吧?。?! 出現(xiàn)這種問題,一般來說是

    2024年04月10日
    瀏覽(36)
  • pip install安裝CPM-Bee出現(xiàn)ModuleNotFoundError: No module named ‘torch‘的解決方案

    pip install安裝CPM-Bee出現(xiàn)ModuleNotFoundError: No module named ‘torch‘的解決方案

    ??大家好,我是愛編程的喵喵。雙985碩士畢業(yè),現(xiàn)擔(dān)任全棧工程師一職,熱衷于將數(shù)據(jù)思維應(yīng)用到工作與生活中。從事機(jī)器學(xué)習(xí)以及相關(guān)的前后端開發(fā)工作。曾在阿里云、科大訊飛、CCF等比賽獲得多次Top名次?,F(xiàn)為CSDN博客專家、人工智能領(lǐng)域優(yōu)質(zhì)創(chuàng)作者。喜歡通過博客創(chuàng)作

    2024年02月10日
    瀏覽(96)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包