成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

89542767 / 655人閱讀

  對(duì)于一些小白來(lái)說(shuō),在開(kāi)始學(xué)習(xí)編程語(yǔ)言的時(shí)候,經(jīng)常性的會(huì)遇到各種各樣的問(wèn)題,比如一些軟件不會(huì)使用,或者是軟件安裝不上。那么,今天小編就給大家總結(jié)了一些相關(guān)知識(shí),總結(jié)關(guān)于Python軟件包安裝的三種常見(jiàn)方法,下面可仔細(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、爬蟲(chóng)配套實(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 packagen'
  >>>demo1.var_str
  'love python'
  >>>demo1.show_usage()
  just to demo the package installation


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


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


  Python軟件包的制作方需要有PyPI賬戶,這樣才可以將自己編寫(xiě)的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è)開(kāi)源項(xiàng)目,有些公司也在內(nèi)部搭建了自己的PyPI服務(wù)器。有些專有的包可能只能從公司自己搭建的服務(wù)器上才能找到,這時(shí)就需要指定PyPI服務(wù)器信息,而不是使用默認(rèn)的服務(wù)器。下面的命令可以指定安裝包的來(lái)源:


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

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


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


  pip install-r包列表文件


  這個(gè)包含包列表的文本文件的格式也很簡(jiǎn)單,一般一行寫(xiě)一個(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ī)в衐emo字樣的包的信息:


  $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)行查找。打開(kāi)地址https://pypi.org/,可以看到如圖1所示的頁(yè)面。

01.png

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

02.png

  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)行安裝的。


  到此為止,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/128284.html

相關(guān)文章

  • rabbitmq常用三種exchange類型和python庫(kù)pika接入rabbitmq

    摘要:可以簡(jiǎn)單方便的通過(guò)配置,并可以向和中發(fā)消息來(lái)驗(yàn)證自己的理解。然后通過(guò)發(fā)送消息,可以隨便填寫(xiě),因?yàn)槭穷愋偷模黄鹱饔?。這種情況下,隊(duì)列之間是互斥關(guān)系,一個(gè)消息最多只能進(jìn)入一個(gè)隊(duì)列。 現(xiàn)在很多開(kāi)源軟件都提供了對(duì)應(yīng)的web管理界面,rabbitmq也不例外,rabbitmq提供了一個(gè)web插件。當(dāng)rabbit-server啟動(dòng)之后,即在瀏覽器中通過(guò)http://localhost:15672...

    YancyYe 評(píng)論0 收藏0
  • Python三種主要模塊介紹

      Python的三種主要模塊介紹  小編寫(xiě)這篇文章的主要目的,給大家介紹三種主要的模塊,包括系統(tǒng)內(nèi)的幾種模塊,對(duì)其做個(gè)具體的介紹,下面就給大家詳細(xì)的解答下。  在python中,一個(gè)文件(以.py為后綴名的文件)就叫做一個(gè)模塊,每一個(gè)模塊在python里都被看做是一個(gè)獨(dú)立的文件?! ∧K可以被項(xiàng)目中的其他模塊、一些腳本甚至是交互式的解析器所使用,它可以被其他程序引用,從而使用該模塊里的函數(shù)等功能...

    89542767 評(píng)論0 收藏0
  • ??思維導(dǎo)圖整理大廠面試高頻數(shù)組10: 3種方法徹底解決中位數(shù)問(wèn)題, 力扣4??

    此專欄文章是對(duì)力扣上算法題目各種方法的總結(jié)和歸納, 整理出最重要的思路和知識(shí)重點(diǎn)并以思維導(dǎo)圖形式呈現(xiàn), 當(dāng)然也會(huì)加上我對(duì)導(dǎo)圖的詳解. 目的是為了更方便快捷的記憶和回憶算法重點(diǎn)(不用每次都重復(fù)看題解), 畢竟算法不是做了一遍就能完全記住的. 所以本文適合已經(jīng)知道解題思路和方法, 想進(jìn)一步加強(qiáng)理解和記憶的朋友, 并不適合第一次接觸此題的朋友(可以根據(jù)題號(hào)先去力扣看看官方題解, 然后再看本文內(nèi)容). 關(guān)...

    XanaHopper 評(píng)論0 收藏0
  • POST 請(qǐng)求三種常見(jiàn)數(shù)據(jù)提交格式

    摘要:一般使用請(qǐng)求方法向服務(wù)器發(fā)送數(shù)據(jù)主要是一些創(chuàng)建更新操作,本文討論的是請(qǐng)求方法常用的四種數(shù)據(jù)提交格式。其實(shí)就是和請(qǐng)求的數(shù)據(jù)提交格式是一樣的,只不過(guò)位置從上換到了里。適用場(chǎng)景數(shù)據(jù)量不大數(shù)據(jù)層級(jí)不深的情況下強(qiáng)烈建議這種數(shù)據(jù)提交格式。 本文所講的 POST 請(qǐng)求是 HTTP/1.1 協(xié)議中規(guī)定的眾多 HTTP 請(qǐng)求方法的其中最常用的一個(gè)。一般使用 POST 請(qǐng)求方法向服務(wù)器發(fā)送數(shù)據(jù)(主要是一些...

    Kylin_Mountain 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<