安装软件包

本节介绍如何安装Python的基本知识。包裹.

需要注意的是,这个上下文中的“包”一词被用作分布(即要安装的一组软件),而不是指包装在Python源代码中导入(即模块的容器)。Python社区中常见的引用分布使用“包”一词。使用“分发”这个术语通常是不可取的,因为它很容易与Linux发行版或另一个更大的软件发行版(如Python本身)混淆。

安装软件包的要求

本节描述安装其他Python包之前应遵循的步骤。

确保可以从命令行运行Python

在进一步研究之前,请确保您有Python,并且您的命令行中提供了预期的版本。您可以通过运行以下命令(win+r打开命令行,然后运行如下命令)来检查这一点:

python --version

你应该得到一些输出,比如Python 3.6.3...如果您没有Python,请从python.org或参考安装Python“Hitchhiker Python指南”一节。

如果您是新来的,并且遇到这样的错误:

>>>

>>> python --version
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'python' is not defined

这是因为本教程中的这个命令和其他建议的命令打算在(又称a终端控制台)。见Python for初学者入门教程有关使用操作系统的shell和与Python交互的介绍。

如果您使用的是增强的shell(如IPython或木星笔记本),则可以运行系统命令,如本教程中的命令,方法是使用!性格:

In [1]: import sys
!{sys.executable} --version
Python 3.6.3

建议写{sys.executable}而不是平淡python为了确保在Python安装中运行与当前正在运行的记事本相匹配的命令(这可能不是与python(命令指)。

由于大多数Linux发行版处理Python 3迁移的方式,使用系统Python而不创建虚拟环境的Linux用户应该首先替换python本教程中的python3pip命令用pip3 --user...做运行本教程中的任何命令sudo:如果您获得了权限错误,请回到关于创建虚拟环境的部分,设置一个环境,然后继续编写教程。

确保您可以从命令行运行pip。

另外,你需要确保PIP可用。您可以通过运行以下命令来检查这一点:

pip --version

如果您从源代码安装Python,则使用python.org,或通过自制你应该已经有了。如果您在Linux上并使用操作系统包管理器安装,则可能需要单独安装pip,请参见用Linux包管理器安装pip/setuptools/轮子.

如果pip还没有安装,那么首先尝试从标准库引导它:

python -m ensurepip --default-pip

如果这还不能让你跑pip:

  • 安全下载get-pip.py 1

  • python get-pip.py2这将安装或升级pip。此外,它将安装设置工具车轮如果他们还没安装好的话。

    警告

    如果您使用的是由操作系统或其他包管理器管理的Python安装,请小心。py与这些工具不协调,可能会使您的系统处于不一致的状态。你可以用python get-pip.py --prefix=/usr/local/安装在/usr/local这是为本地安装的软件设计的。

确保pip、setuptools和轮子都是最新的。

pip单独安装就足以从预构建的二进制档案中安装,直到最新的副本。setuptoolswheel项目对于确保您也可以从源档案中安装非常有用:

python -m pip install --upgrade pip setuptools wheel

或者,创建一个虚拟环境。

看见下面一节关于细节,但是这里是基本的文夫 3命令用于典型的Linux系统:

python3 -m venv tutorial_env
source tutorial_env/bin/activate

这将在tutorial_env子目录,并配置当前shell以将其用作默认值。python环境。

创建虚拟环境

Python“虚拟环境”允许Python包裹安装在特定应用程序的独立位置,而不是全局安装。如果您希望安全地安装全局命令行工具,请参见安装独立命令行工具.

假设您有一个需要LibFoo版本1的应用程序,而另一个应用程序需要版本2。如果将所有内容安装到/usr/lib/python3.6/site-Package(或平台的标准位置)中,那么很容易在无意中升级不应该升级的应用程序的情况下结束。

或者更广泛地说,如果您想安装一个应用程序而不安装它呢?如果应用程序工作正常,那么其库或这些库的版本中的任何更改都会破坏应用程序。

另外,如果你不能安装包裹进入全局站点-软件包目录?例如,在共享主机上。

在所有这些情况下,虚拟环境都可以帮助您。它们有自己的安装目录,不与其他虚拟环境共享库。

目前,有两种常见的创建Python虚拟环境的工具:

  • 文夫默认情况下在Python3.3及更高版本中可用,并安装PIP设置工具在Python3.4及更高版本中创建的虚拟环境。

  • 虚拟人需要单独安装,但支持Python2.7+和Python3.3+,并且PIP设置工具车轮默认情况下总是安装在创建的虚拟环境中(不管Python版本如何)。

基本用法如下:

使用文夫:

python3 -m venv <DIR>
source <DIR>/bin/activate

使用虚拟人:

virtualenv <DIR>
source <DIR>/bin/activate

有关更多信息,请参见文夫医生或虚拟人医生。

使用来源在Unixshell下,确保虚拟环境的变量是在当前shell中设置的,而不是在子进程中设置的(子进程随后消失,没有任何有用的效果)。

在上述两种情况下,Windows用户都应该使用来源命令,但是应该运行激活脚本直接来自命令shell,如下所示:

<DIR>\Scripts\activate

直接管理多个虚拟环境可能会变得乏味,因此依赖关系管理教程引入了一个更高级的工具,皮蓬,它会自动管理您工作的每个项目和应用程序的单独虚拟环境。

使用pip安装

PIP是推荐的安装程序。下面,我们将介绍最常见的使用场景。有关更多细节,请参见PIP文档,其中包括一个完整的参考指南.

从PyPI安装

最常见的用法PIP是从Python包索引使用需求说明符...一般来说,需求说明符由一个项目名称和一个可选的项目名称组成。版本说明符佩普440包含全规格当前支持的说明符。下面是一些例子。

安装最新版本的“SomeProject”:

pip install "SomeProject"

若要安装特定版本,请执行以下操作:

pip install "SomeProject==1.4"

安装大于或等于一个版本而小于另一个版本:

pip install "SomeProject>=1,<2"

安装的版本“兼容”有一个特定的版本:4

pip install "SomeProject~=1.4.2"

在本例中,这意味着安装“=1.4.*”版本,也就是“>=1.4.2”版本。

源分布与车轮

PIP可以从源分布(Sdist)车轮,但是如果两者都出现在pypi上,pip会更喜欢兼容的。车轮.

车轮是预建的分布提供更快安装速度的格式源分布(Sdist),尤其是当项目包含已编译的扩展时。

如果PIP如果找不到要安装的车轮,它将在本地构建一个车轮并将其缓存以供将来安装,而不是在将来重新构建源分布。

升级包

升级已安装的SomeProject来自PyPI的最新报道。

pip install --upgrade SomeProject

安装到用户站点

安装包裹与当前用户隔离的,请使用--user国旗:

pip install --user SomeProject

有关更多信息,请参见用户安装从PIP文档中分离出来。

注意,--user当在虚拟环境中时,标志没有效果-所有安装命令都会影响虚拟环境。

如果SomeProject定义任何命令行脚本或控制台入口点,--user将使它们安装在用户群的二进制目录,该目录可能已经存在,也可能没有出现在shell的PATH...(从版本10开始,pip在将脚本安装到外部目录时显示警告。PATH)如果安装后shell中的脚本不可用,则需要将该目录添加到PATH:

  • 在linux和macos上,您可以通过运行python -m site --user-base加上bin一直到最后。例如,这通常会打印~/.local(与~扩展到指向主目录的绝对路径),因此需要添加~/.local/bin敬你的PATH...你可以把你的PATH永久地修改~/.剖面.

  • 在Windows上,您可以通过运行py -m site --user-site替换site-packages带着Scripts...例如,这可能会返回C:\Users\Username\AppData\Roaming\Python36\site-packages所以你需要把你的PATH包括C:\Users\Username\AppData\Roaming\Python36\Scripts...您可以设置您的用户。PATH永久保存在控制面板...您可能需要注销PATH更改生效。

需求文件

中指定的要求列表。需求文件.

pip install -r requirements.txt

从VCS安装

在“可编辑”模式下从VCS安装一个项目。有关语法的完整细分,请参见pip关于风投支持.

pip install -e git+https://git.repo/some_pkg.git#egg=SomeProject          # from git
pip install -e hg+https://hg.repo/some_pkg#egg=SomeProject # from mercurial
pip install -e svn+svn://svn.repo/some_pkg/trunk/#egg=SomeProject # from svn
pip install -e git+https://git.repo/some_pkg.git@feature#egg=SomeProject # from a branch

从其他索引安装

从备用索引安装

pip install --index-url http://my.package.repo/simple/ SomeProject

在安装期间搜索附加索引,PyPI

pip install --extra-index-url http://my.package.repo/simple SomeProject

从本地src树安装

从本地src安装发展模式,即项目似乎已安装,但仍可从src树中编辑。

pip install -e <path>

您也可以正常地从src安装。

pip install <path>

从本地档案安装

安装特定的源存档文件。

pip install ./downloads/SomeProject-1.0.4.tar.gz

从包含档案的本地目录安装(不要检查PyPI)

pip install --no-index --find-links=file:///local/dir/ SomeProject
pip install --no-index --find-links=/local/dir/ SomeProject
pip install --no-index --find-links=relative/dir/ SomeProject

从其他来源安装

要从其他数据源(例如AmazonS 3存储)安装,可以创建一个在Pep 503符合索引格式,并使用--extra-index-url标志指示pip使用该索引。

./s3helper --port=7777
pip install --extra-index-url http://localhost:7777 SomeProject

安装预放映机

除了稳定的版本之外,还可以找到预发布和开发版本。默认情况下,PIP只找到稳定的版本。

pip install --pre SomeProject

安装Setuptools“Extras”

安装setuptools附加程序.

$ pip install SomePackage[PDF]
$ pip install SomePackage[PDF]==3.0
$ pip install -e .[PDF]==3.0 # editable project in current directory

最新文章

  1. 《中国文明史》系列—外柔 VS 内厉
  2. 搭建 AngularJS+Ionic+Cordova 开发环境并运行一个demo
  3. 阿里云弹性Web托管的URL重写问题
  4. IP地址
  5. easyui combotree下拉框多选赋值
  6. 2014年物联网Internet of Things应用简介
  7. 通过反射将变量值转为变量名本身ZZ
  8. 【原】iOS学习之XMPP环境搭建
  9. 用clip剪裁实现半圆
  10. poj2540Hotter Colder(半平面交)
  11. MVC controller and View
  12. Sigar.jar获取系统信息
  13. TSQL Beginners Challenge 1 - Find the second highest salary for each department
  14. Api之Cors跨域以及其他跨域方式
  15. [Android 性能优化系列]降低你的界面布局层次结构的一部分
  16. ural1521 War Games 2
  17. 1753: [Usaco2005 qua]Who&#39;s in the Middle
  18. eclipse上传新项目到GitHub
  19. vim 当前用户显示行号
  20. Java覆盖

热门文章

  1. 使用BurpSuite、Hydra和medusa爆破相关的服务
  2. 初入Shell
  3. eclipse git提交项目以及down项目大致步骤
  4. 第二篇 Scrum冲刺博客
  5. Java数据结构——双端队列
  6. await,async 我要把它翻个底朝天,这回你总该明白了吧
  7. 【Go语言探险】线上奇怪日志问题的排查
  8. 通过WordCount解析Spark RDD内部源码机制
  9. Android开发之recycleView详解代码,看完包你熟练掌握recycleView的用法。转自网络经典文章
  10. app转iap