最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python軟件包安裝的三種常見(jiàn)方法

 更新時(shí)間:2022年07月06日 15:49:05   作者:普通網(wǎng)友  
python擁有非常豐富的擴(kuò)展包,下面這篇文章主要給大家介紹了關(guān)于Python軟件包安裝的三種常見(jiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

有些 Python 軟件包是系統(tǒng)自帶的,如 sys,這些包在安裝 Python 時(shí)已自動(dòng)安裝。但有些包是需要自行下載安裝的,如 PIL。這些第三方的軟件有的以源代碼的形式提供,有的以安裝包的形式提供。

安裝第三方 Python 包的方法有很多種。本節(jié)將介紹一些常見(jiàn)的方法。

1、復(fù)制源代碼到系統(tǒng)目錄

最簡(jiǎn)單的方法就是將 Python 源文件復(fù)制到 sys.path 包含的某個(gè)目錄下。這樣使用“imp ort文件名”即可導(dǎo)入該包。#價(jià)位@762459510 免費(fèi)領(lǐng)取python、爬蟲配套實(shí)操資料#

下面的代碼查看 sys.path 變量包含的路徑:

>>> import sys
>>> sys.path
['', '/anaconda3/lib/python37.zip',
'/anaconda3/lib/python3.7',         # 這里要使用的目錄
'/anaconda3/lib/python3.7/lib-dynload',
'/anaconda3/lib/python3.7/site-packages',
'/anaconda3/lib/python3.7/site-packages/aeosa']

假定將文件 demo1.py 復(fù)制到目錄 /anaconda3/lib/python3.7,就是上面的代碼第 4 行指定的目錄。該文件的內(nèi)容如下:

""" just a demo package
"""
var_str = "love python"
var_int = 88
def show_usage():
print("just to demo the package installation")

下面就可以使用 demo1 模塊了,方法如下:

>>> import demo1
>>> demo1.var_int
88
>>> demo1.__doc__
' just a demo package\n'
>>> demo1.var_str
'love python'
>>> demo1.show_usage()
just to demo the package installation

2、使用PIP進(jìn)行安裝

最近比較流行的安裝工具是 PIP,該工具一般在安裝 Python 時(shí)已成功安裝,不需要單獨(dú)安裝。 PIP 是客戶端安裝工具,安裝包來(lái)自 PyPI,PIP 從 PyPI 上下載安裝包,并且安裝在本機(jī)。

Python 軟件包的制作方需要有 PyPI 賬戶,這樣才可以將自己編寫的 Python 包推送到 PyPI 上以供其他用戶使用。而對(duì)于普通用戶來(lái)說(shuō),并不需要注冊(cè) PyPI 賬戶,只需要本地有 PIP 客戶端程序即可。

PIP 提供了安裝、卸載、列出安裝軟件包列表等功能。下面將對(duì)這些常見(jiàn)功能一一講解。

1) 安裝

安裝的常用命令有兩個(gè),一個(gè)不指定版本信息,一個(gè)指定版本信息。下面分別是它們的格式:

pip install 包名
pip install 包名==版本號(hào)

如果已經(jīng)有了一個(gè)安裝包,但是希望修改其版本,則需要使用下面的命令:

pip install --upgrade 包名==版本

下面是安裝一個(gè) Python 包 lin-demo 的例子。

$ pip install lin-demo
Collecting lin-demo             # 獲得lin-demo包的相關(guān)信息
Downloading https://files.pythonhosted.org/packages/87          #下載安裝包
/35/985a9e7d7fd66bfe82c3c83092bb14d23105e15b5738e02b6c761737c8a8/
lin_demo-0.0.1-py3-none-any.whl
Installing collected packages: lin-demo # 安裝
Successfully installed lin-demo-0.0.1  # 安裝成功,顯示安裝的版本

由于 PyPI 是一個(gè)開源項(xiàng)目,有些公司也在內(nèi)部搭建了自己的 PyPI 服務(wù)器。有些專有的包可能只能從公司自己搭建的服務(wù)器上才能找到,這時(shí)就需要指定 PyPI 服務(wù)器信息,而不是使用默認(rèn)的服務(wù)器。下面的命令可以指定安裝包的來(lái)源:

pip install --index-url 包的來(lái)源 包名

如果一次要安裝很多的軟件包,尤其是在搭建開發(fā)或者運(yùn)行環(huán)境時(shí),這么一個(gè)一個(gè)地去執(zhí)行安裝命令進(jìn)行安裝顯得不是很友好。

這時(shí)可以將要安裝的包寫在一個(gè)文本文件中,如 requirements.txt,然后使用該文本文件作為輸入,將文本文件中列出的 Pyhton 包一次安裝完成。這相當(dāng)于是一個(gè)批處理命令,其格式如下:

pip install -r 包列表文件

這個(gè)包含包列表的文本文件的格式也很簡(jiǎn)單,一般一行寫一個(gè)包的名和版本,格式還是“包名==版本”。下面便是一個(gè)例子:

CherryPy13.0.0
Jinja22.10
MySQL-python1.2.5
Routes2.4.1
SQLAlchemy1.1.15
Werkzeug0.13
hpc0.2.725
requests2.18.4

2) 卸載

卸載相對(duì)來(lái)說(shuō)比較簡(jiǎn)單。由于一臺(tái)機(jī)器對(duì)于某個(gè)軟件包只能安裝某一個(gè)版本,而且肯定是安裝在本機(jī)上的,所以卸載命令沒(méi)有指定版本、指定源這些參數(shù)。下面即為卸載某個(gè)包的命令格式:

pip uninstall 包名

3) 查看已經(jīng)安裝的包

有時(shí)在 import 語(yǔ)句時(shí)會(huì)拋出異常,原因可能是某個(gè)軟件包沒(méi)有安裝,或者安裝的版本不對(duì)。這時(shí)可以通過(guò)下面的命令來(lái)查看所有本地已經(jīng)安裝的 Python 包:

pip freeze

下面是一個(gè)例子:

$ pip freeze
alabaster0.7.12                # 0.7.12是版本信息
allure-pytest2.7.0
allure-python-commons2.7.0
anaconda-client1.7.2
…                                           # 其他的已經(jīng)安裝的Python包
anaconda-navigator1.9.7
anaconda-project0.8.2
appnope==0.1.0

4) 查看某個(gè)包的詳細(xì)情況

如果對(duì)某個(gè)包的具體作用不是很清楚,或者對(duì)其所依賴的包的情況不是很清楚,這時(shí)可以查看該包的詳細(xì)描述,命令如下:

pip show 包名

下面是一個(gè)例子:

$ pip show SQLAlchemy
Name: SQLAlchemy
Version: 1.2.11                    # 版本信息
Summary: Database Abstraction Library
Home-page: http://www.sqlalchemy.org
Author: Mike Bayer
Author-email: mike_mp@zzzcomputing.com
License: MIT License
Location: /Library/Python/2.7/site-packages     # 安裝位置
Requires:                              # 其所依賴的包
Required-by:                        # 依賴該包的包

5) 查看服務(wù)器上的包信息

可以使用命令行來(lái)查找包,命令行格式如下:

pip search 包名

然后便可以看到與指定包名類似的包的信息,包括版本和描述信息。下面是查找?guī)в?demo 字樣的包的信息:

$ pip search demo                             # 搜索與demo相關(guān)的Python包
demo (0.1.0)                            - egg test demo.
rattail-demo (0.1.0)            - Rattail Software Demo
typosquating-demo (1.1.7)       - Typosquating demo attack.
hacmec-demo (0.0.3)             - hACMEc demo application
python-demo (0.0.3)             - python scripts demos
python-demo (0.0.3)             - python scripts demos
my-demo (2019.3.31)             - A demo for python packaging.
pysp2tf-demo (0.11)             - PySpark and TF demo
flask-demo (1.0.0)                      - demo template based on flask
agora-demo (0.1.0)              - A demo testing configuration and dataset
                                                                  management.
version-demo (0.0.3)                    - Just demo for checking how is version work
smooth-demo (0.1)                       - Tool to automate giving a demo on command line
pypi-task-demo (0.0.1)                  - PyPI demo
…                                                             # 省略一些包
jdhp-setuptools-demo (0.2)              - A snippet to test setuptools and PyPI
flask_neglog (0.0.2)                    - demo
mylittlepypiproject (0.0.4)             - A demo
flask_aide (0.0.1)                              - demo
mypypiproject (0.0.4)                   - A demo
my_little_pypi_project (0.0.4)          - A demo
ccq18-hello (0.2)                               - demos
hykpyp (0.1)                                    - this is demo
Flask-Kits (0.0.24)                     - demo
longj_demo (1.2.1)                      - this is a demo
demo-project-test-time (1.1111115)      -
openerp-web-tests-demo (7.0.406)        - Demonstration of web/javascript tests

當(dāng)然,也可以在 PyPI 網(wǎng)站上進(jìn)行查找。打開地址 https://pypi.org/,可以看到如圖 1 所示的頁(yè)面。

PyPI的主頁(yè)面

圖 1 PyPI的主頁(yè)面

在搜索框內(nèi)輸入 demo,按 Enter 鍵,即可看到搜索到的與 demo 相關(guān)的 Python 包,如圖 2 所示。

搜索demo相關(guān)的Python包

圖 2 搜索 demo 相關(guān)的 Python 包

3、使用easy_install和setup進(jìn)行安裝

有些老的 Python 包可能沒(méi)有放在 PyPI 服務(wù)器上,這時(shí)就需要使用 easy_install 來(lái)進(jìn)行安裝了。

使用 easy_install 安裝其他軟件包之前需要首先安裝 easy_install 這個(gè)工具,步驟如下:

  • 從 http://peak.telecommunity.com/dist/ 下載 ez_steup.py 到本地。
  • 運(yùn)行剛下載的 ez_setup.py。

這時(shí)在 Python 的系統(tǒng)目錄下便可以看到文件 easy_install,這就是用來(lái)進(jìn)行包安裝的工具?,F(xiàn)在直接運(yùn)行命令“easy_install包名”即可安裝需要的包。

有些模塊的源代碼中包含 setup.py 文件,這時(shí)一般使用下面的命令便可以完成安裝任務(wù):

python setup.py install

例如有一個(gè) Python 包叫作 send2trash,其源代碼地址是 https://github.com/hsoft/send2trash,下載源代碼,然后可以使用源代碼中的 setup.py 來(lái)進(jìn)行安裝。

本節(jié)介紹的安裝方法并不常用,只有在安裝某些特殊的包時(shí)才會(huì)用到。多數(shù) Python 包都可以通過(guò) PIP 進(jìn)行安裝,如本教程介紹的第三方 Python 包都是可以使用 PIP 進(jìn)行安裝的。

總結(jié)

到此這篇關(guān)于Python軟件包安裝的三種常見(jiàn)方法的文章就介紹到這了,更多相關(guān)Python軟件包安裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 最小公倍數(shù)Python實(shí)現(xiàn)的方法例子

    最小公倍數(shù)Python實(shí)現(xiàn)的方法例子

    這篇文章介紹了兩種計(jì)算最小公倍數(shù)的方法:輾轉(zhuǎn)相除法(歐幾里德法)和相減法(更相減損法),這兩種方法分別基于求最大公約數(shù)的不同原理,需要的朋友可以參考下
    2024-11-11
  • influx+grafana自定義python采集數(shù)據(jù)和一些坑的總結(jié)

    influx+grafana自定義python采集數(shù)據(jù)和一些坑的總結(jié)

    一些數(shù)據(jù)的類型不正確會(huì)導(dǎo)致no datapoint的錯(cuò)誤,真是令人抓狂,本文就是總結(jié)一下采集數(shù)據(jù)種的一些坑,希望大家可以從中獲益
    2018-09-09
  • 4個(gè)必學(xué)的Python自動(dòng)化技巧分享

    4個(gè)必學(xué)的Python自動(dòng)化技巧分享

    在當(dāng)今快節(jié)奏的工作環(huán)境中,自動(dòng)化是提升效率的重要手段,本文將介紹4個(gè)必學(xué)的Python自動(dòng)化技巧,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • python模擬登陸、POST/GET請(qǐng)求方式

    python模擬登陸、POST/GET請(qǐng)求方式

    這篇文章主要介紹了python模擬登陸、POST/GET請(qǐng)求方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • OpenCV實(shí)現(xiàn)單目攝像頭對(duì)圖像目標(biāo)測(cè)距

    OpenCV實(shí)現(xiàn)單目攝像頭對(duì)圖像目標(biāo)測(cè)距

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)單目攝像頭對(duì)圖像目標(biāo)測(cè)距,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Pycharm Available Package無(wú)法顯示/安裝包的問(wèn)題Error Loading Package List解決

    Pycharm Available Package無(wú)法顯示/安裝包的問(wèn)題Error Loading Package Li

    這篇文章主要介紹了Pycharm Available Package無(wú)法顯示/安裝包的問(wèn)題Error Loading Package List解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python中yield函數(shù)的用法詳解

    Python中yield函數(shù)的用法詳解

    這篇文章詳細(xì)介紹了Python中的yield關(guān)鍵字及其用法,yield關(guān)鍵字用于生成器函數(shù)中,使得函數(shù)可以像迭代器一樣工作,但不會(huì)一次性將所有結(jié)果加載到內(nèi)存中,文中將用法介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • python excel多行合并的方法

    python excel多行合并的方法

    這篇文章主要介紹了python excel多行合并的方法,幫助大家更好的利用python處理excel表格,感興趣的朋友可以了解下
    2020-12-12
  • 通過(guò)代碼實(shí)例了解Python sys模塊

    通過(guò)代碼實(shí)例了解Python sys模塊

    這篇文章主要介紹了通過(guò)代碼實(shí)例了解Python sys模塊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Phantomjs抓取渲染JS后的網(wǎng)頁(yè)(Python代碼)

    Phantomjs抓取渲染JS后的網(wǎng)頁(yè)(Python代碼)

    phantomjs:我的理解就是它是一個(gè)無(wú)顯示的瀏覽器,也就是說(shuō)除了不能顯示頁(yè)面內(nèi)容以外,瀏覽器能干的活兒它基本上都能干。下面我們就來(lái)利用他做點(diǎn)有趣的事情
    2016-05-05

最新評(píng)論

兴海县| 望城县| 元朗区| 广灵县| 宜兰市| 久治县| 庆安县| 灵宝市| 深州市| 芒康县| 沁阳市| 富民县| 原阳县| 营山县| 高雄县| 临武县| 盐源县| 星座| 五原县| 临武县| 莱州市| 子洲县| 城口县| 华坪县| 巫溪县| 绥中县| 丹阳市| 高淳县| 巫山县| 东辽县| 襄垣县| 邹城市| 永嘉县| 铜川市| 毕节市| 栾城县| 沙雅县| 巫山县| 什邡市| 邵武市| 香港|