资讯专栏INFORMATION COLUMN

Python软件包安装的三种常见方法

89542767 / 560人阅读

  对于一些小白来说,在开始学习编程语言的时候,经常性的会遇到各种各样的问题,比如一些软件不会使用,或者是软件安装不上。那么,今天小编就给大家总结了一些相关知识,总结关于Python软件包安装的三种常见方法,下面可仔细阅读。


  前言


  有些Python软件包是系统自带的,如sys,这些包在安装Python时已自动安装。但有些包是需要自行下载安装的,如PIL。这些第三方的软件有的以源代码的形式提供,有的以安装包的形式提供。


  安装第三方Python包的方法有很多种。本节将介绍一些常见的方法。


  1、复制源代码到系统目录


  最简单的方法就是将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


  2、使用PIP进行安装


  最近比较流行的安装工具是PIP,该工具一般在安装Python时已成功安装,不需要多带带安装。PIP是客户端安装工具,安装包来自PyPI,PIP从PyPI上下载安装包,并且安装在本机。


  Python软件包的制作方需要有PyPI账户,这样才可以将自己编写的Python包推送到PyPI上以供其他用户使用。而对于普通用户来说,并不需要注册PyPI账户,只需要本地有PIP客户端程序即可。


  PIP提供了安装、卸载、列出安装软件包列表等功能。下面将对这些常见功能一一讲解。


  1)安装


  安装的常用命令有两个,一个不指定版本信息,一个指定版本信息。下面分别是它们的格式:


  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


  2)卸载


  卸载相对来说比较简单。由于一台机器对于某个软件包只能安装某一个版本,而且肯定是安装在本机上的,所以卸载命令没有指定版本、指定源这些参数。下面即为卸载某个包的命令格式:


  pip uninstall包名


  3)查看已经安装的包


  有时在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


  4)查看某个包的详细情况


  如果对某个包的具体作用不是很清楚,或者对其所依赖的包的情况不是很清楚,这时可以查看该包的详细描述,命令如下:


  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:#依赖该包的包


  5)查看服务器上的包信息


  可以使用命令行来查找包,命令行格式如下:


  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所示的页面。

01.png

  在搜索框内输入demo,按Enter键,即可看到搜索到的与demo相关的Python包,如图2所示。

02.png

  3、使用easy_install和setup进行安装


  有些老的Python包可能没有放在PyPI服务器上,这时就需要使用easy_install来进行安装了。


  使用easy_install安装其他软件包之前需要首先安装easy_install这个工具,步骤如下:


  从http://peak.telecommunity.com/dist/下载ez_steup.py到本地。


  运行刚下载的ez_setup.py。


  这时在Python的系统目录下便可以看到文件easy_install,这就是用来进行包安装的工具。现在直接运行命令“easy_install包名”即可安装需要的包。


  有些模块的源代码中包含setup.py文件,这时一般使用下面的命令便可以完成安装任务:


  python setup.py install


  例如有一个Python包叫作send2trash,其源代码地址是https://github.com/hsoft/send2trash,下载源代码,然后可以使用源代码中的setup.py来进行安装。


  本节介绍的安装方法并不常用,只有在安装某些特殊的包时才会用到。多数Python包都可以通过PIP进行安装,如本教程介绍的第三方Python包都是可以使用PIP进行安装的。


  到此为止,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128284.html

相关文章

  • rabbitmq常用三种exchange类型和python库pika接入rabbitmq

    摘要:可以简单方便的通过配置,并可以向和中发消息来验证自己的理解。然后通过发送消息,可以随便填写,因为是类型的,不起作用。这种情况下,队列之间是互斥关系,一个消息最多只能进入一个队列。 现在很多开源软件都提供了对应的web管理界面,rabbitmq也不例外,rabbitmq提供了一个web插件。当rabbit-server启动之后,即在浏览器中通过http://localhost:15672...

    YancyYe 评论0 收藏0
  • Python三种主要模块介绍

      Python的三种主要模块介绍  小编写这篇文章的主要目的,给大家介绍三种主要的模块,包括系统内的几种模块,对其做个具体的介绍,下面就给大家详细的解答下。  在python中,一个文件(以.py为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件。  模块可以被项目中的其他模块、一些脚本甚至是交互式的解析器所使用,它可以被其他程序引用,从而使用该模块里的函数等功能...

    89542767 评论0 收藏0
  • ❤️思维导图整理大厂面试高频数组10: 3种方法彻底解决中位数问题, 力扣4❤️

    此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), 毕竟算法不是做了一遍就能完全记住的. 所以本文适合已经知道解题思路和方法, 想进一步加强理解和记忆的朋友, 并不适合第一次接触此题的朋友(可以根据题号先去力扣看看官方题解, 然后再看本文内容). 关...

    XanaHopper 评论0 收藏0
  • POST 请求三种常见数据提交格式

    摘要:一般使用请求方法向服务器发送数据主要是一些创建更新操作,本文讨论的是请求方法常用的四种数据提交格式。其实就是和请求的数据提交格式是一样的,只不过位置从上换到了里。适用场景数据量不大数据层级不深的情况下强烈建议这种数据提交格式。 本文所讲的 POST 请求是 HTTP/1.1 协议中规定的众多 HTTP 请求方法的其中最常用的一个。一般使用 POST 请求方法向服务器发送数据(主要是一些...

    Kylin_Mountain 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<