<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
有些 Python 軟體包是系統自帶的,如 sys,這些包在安裝 Python 時已自動安裝。但有些包是需要自行下載安裝的,如 PIL。這些第三方的軟體有的以原始碼的形式提供,有的以安裝包的形式提供。
安裝第三方 Python 包的方法有很多種。本節將介紹一些常見的方法。
最簡單的方法就是將 Python 原始檔複製到 sys.path 包含的某個目錄下。這樣使用“imp ort檔名”即可匯入該包。#價位@762459510 免費領取python、爬蟲配套實操資料#
下面的程式碼檢視 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 複製到目錄 /anaconda3/lib/python3.7,就是上面的程式碼第 4 行指定的目錄。該檔案的內容如下:
""" 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 packagen' >>> demo1.var_str 'love python' >>> demo1.show_usage() just to demo the package installation
最近比較流行的安裝工具是 PIP,該工具一般在安裝 Python 時已成功安裝,不需要單獨安裝。 PIP 是使用者端安裝工具,安裝包來自 PyPI,PIP 從 PyPI 上下載安裝包,並且安裝在本機。
Python 軟體包的製作方需要有 PyPI 賬戶,這樣才可以將自己編寫的 Python 包推播到 PyPI 上以供其他使用者使用。而對於普通使用者來說,並不需要註冊 PyPI 賬戶,只需要本地有 PIP 使用者端程式即可。
PIP 提供了安裝、解除安裝、列出安裝軟體包列表等功能。下面將對這些常見功能一一講解。
安裝的常用命令有兩個,一個不指定版本資訊,一個指定版本資訊。下面分別是它們的格式:
pip install 包名 pip install 包名==版本號
如果已經有了一個安裝包,但是希望修改其版本,則需要使用下面的命令:
pip install --upgrade 包名==版本
下面是安裝一個 Python 包 lin-demo 的例子。
$ pip install lin-demo Collecting lin-demo # 獲得lin-demo包的相關資訊 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 是一個開源專案,有些公司也在內部搭建了自己的 PyPI 伺服器。有些專有的包可能只能從公司自己搭建的伺服器上才能找到,這時就需要指定 PyPI 伺服器資訊,而不是使用預設的伺服器。下面的命令可以指定安裝包的來源:
pip install --index-url 包的來源 包名
如果一次要安裝很多的軟體包,尤其是在搭建開發或者執行環境時,這麼一個一個地去執行安裝命令進行安裝顯得不是很友好。
這時可以將要安裝的包寫在一個文字檔案中,如 requirements.txt,然後使用該文字檔案作為輸入,將文字檔案中列出的 Pyhton 包一次安裝完成。這相當於是一個批次處理命令,其格式如下:
pip install -r 包列表檔案
這個包含包列表的文字檔案的格式也很簡單,一般一行寫一個包的名和版本,格式還是“包名==版本”。下面便是一個例子:
CherryPy13.0.0
Jinja22.10
MySQL-python1.2.5
Routes2.4.1
SQLAlchemy1.1.15
Werkzeug0.13
hpc0.2.725
requests2.18.4
解除安裝相對來說比較簡單。由於一臺機器對於某個軟體包只能安裝某一個版本,而且肯定是安裝在本機上的,所以解除安裝命令沒有指定版本、指定源這些引數。下面即為解除安裝某個包的命令格式:
pip uninstall 包名
有時在 import 語句時會丟擲異常,原因可能是某個軟體包沒有安裝,或者安裝的版本不對。這時可以通過下面的命令來檢視所有本地已經安裝的 Python 包:
pip freeze
下面是一個例子:
$ pip freeze alabaster0.7.12 # 0.7.12是版本資訊 allure-pytest2.7.0 allure-python-commons2.7.0 anaconda-client1.7.2 … # 其他的已經安裝的Python包 anaconda-navigator1.9.7 anaconda-project0.8.2 appnope==0.1.0
如果對某個包的具體作用不是很清楚,或者對其所依賴的包的情況不是很清楚,這時可以檢視該包的詳細描述,命令如下:
pip show 包名
下面是一個例子:
$ 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: # 依賴該包的包
可以使用命令列來查詢包,命令列格式如下:
pip search 包名
然後便可以看到與指定包名類似的包的資訊,包括版本和描述資訊。下面是查詢帶有 demo 字樣的包的資訊:
$ pip search demo # 搜尋與demo相關的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
當然,也可以在 PyPI 網站上進行查詢。開啟地址 https://pypi.org/,可以看到如圖 1 所示的頁面。
圖 1 PyPI的主頁面
在搜尋方塊內輸入 demo,按 Enter 鍵,即可看到搜尋到的與 demo 相關的 Python 包,如圖 2 所示。
圖 2 搜尋 demo 相關的 Python 包
有些老的 Python 包可能沒有放在 PyPI 伺服器上,這時就需要使用 easy_install 來進行安裝了。
使用 easy_install 安裝其他軟體包之前需要首先安裝 easy_install 這個工具,步驟如下:
這時在 Python 的系統目錄下便可以看到檔案 easy_install,這就是用來進行包安裝的工具。現在直接執行命令“easy_install包名”即可安裝需要的包。
有些模組的原始碼中包含 setup.py 檔案,這時一般使用下面的命令便可以完成安裝任務:
python setup.py install
例如有一個 Python 包叫作 send2trash,其原始碼地址是 https://github.com/hsoft/send2trash,下載原始碼,然後可以使用原始碼中的 setup.py 來進行安裝。
本節介紹的安裝方法並不常用,只有在安裝某些特殊的包時才會用到。多數 Python 包都可以通過 PIP 進行安裝,如本教學介紹的第三方 Python 包都是可以使用 PIP 進行安裝的。
到此這篇關於Python軟體包安裝的三種常見方法的文章就介紹到這了,更多相關Python軟體包安裝內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45