python版本管理工具(python版本控制工具)

http://www.itjxue.com  2023-03-24 13:25  来源:未知  点击次数: 

Python环境隔离神器-Pyenv

pyenv是Python多版本管理工具。

pyenv-virtualenv是python虚拟环境管理工具,主要用来管理Python 包的依赖,不同项目需要依赖的包版本不同,则需要使用虚拟环境。pyenv+virtualenv可以打造一个完美的python隔离环境。

Python包管理工具pip的安装和使用

Python有两个著名的包管理工具easy_install.py和pip。在Python2.7的安装包中,easy_install.py是默认安装的,而pip需要我们手动安装。

方法1:利用常用curl获取

后面是指定获取的pip脚本的名字,也可以是curl -o get-pip.py

方法2:利用wget获取,先要安装wget

备注:看网上还有利用easy_install安装pip,但是我尝试了并没有成功

原因是 Python.org sites 终止支持TLS1.0和1.1版本,TLS需要=1.2

参考:

主要命令:

所有命令中,最重要的两个命令是install和uninstall。

pip支持四种方式安装python包。

从PyPI安装一个包

安装一个全局区域的包,一般需要sudo权限。在mac系统上,即使是管理员也无法安装,自从OS X El Capitan及以后的版本包含了一套安全技术(System Integrity Protection简称为SIP)来防止恶意软件修改系统保护区域。具体可参考SIP。因此,我们有时候需要将PyPI包安装到用户区,这个时候,可以用.

pip在升级软件包之前会自动卸载旧的软件包。

可以将所有需要安装的包放入一个requirements.txt文件中,然后可以一次安装。requirements.txt 文件的每一行都要表明安装的内容,而且尽量不要依赖文件中指定包的前后安装顺序。

从git安装

从svn安装

从一个分支安装

还有很多其他的包安装功能,但是上面的已经满足了大部分需求。其他的请参考 文档 。

pip uninstall可以卸载大部分的包,除了一下两种情况

使用方式主要有两种:

卸载单个包

卸载多个包

pip check用来验证已安装的包是否有兼容的依赖性问题。

上面的结果说明matplotlib包有两个依赖包没有安装。

pip search用来搜索名字或者摘要中包含搜索关键字的PyPI包。

选项只有一个,就是指定PyPI的url,默认url为

例如,search frida

以下两者都可以用,结果同上。

pip list命令会按照字典序排列列举已安装的包,包括可编辑的包。

主要有如下选项:

输出格式:

legacy:将要被废弃

freeze

columns

json

当某些时候debug的时候,需要提供一个完整的python环境,python freeze提供了此功能,它能够输出机器上python环境的快照(所有已安装的包)。

下面是freeze命令的选项:

输出用户区安装的前5个安装包:

pip show可以用来显示每个包的具体信息。show命令只有一个选项 -f,用来显示安装包的文件列表。

$ pip show -f|--files packageName

更多命令请参考 文档

pip默认的index-url是 ,

为了提高速度,我们可以更改pip源为国内的阿里云源。更改方法如下:

创建配置文件

添加阿里源

pip.conf内容如下:

Python 常用的标准库以及第三方库有哪些

推荐5个常用的Python标准库:

1、os:提供了不少与操作系统相关联的函数库

os包是Python与操作系统的接口。我们可以用os包来实现操作系统的许多功能,比如管理系统进程,改变当前路径,改变文件权限等。但要注意,os包是建立在操作系统的平台上的,许多功能在Windows系统上是无法实现的。另外,在使用os包中,要注意其中的有些功能已经被其他的包取代。

我们通过文件系统来管理磁盘上储存的文件。查找、删除、复制文件以及列出文件列表等都是常见的文件操作。这些功能通常可以在操作系统中看到,但现在可以通过Python标准库中的glob包、shutil包、os.path包以及os包的一些函数等,在Python内部实现。

2、sys:通常用于命令行参数的库

sys包被用于管理Python自身的运行环境。Python是一个解释器,也是一个运行在操作系统上的程序。我们可以用sys包来控制这一程序运行的许多参数,比如说Python运行所能占据的内存和CPU,Python所要扫描的路径等。另一个重要功能是和Python自己的命令行互动,从命令行读取命令和参数。

3、random:用于生成随机数的库

Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。

4、math:提供了数学常数和数学函数

标准库中,Python定义了一些新的数字类型,以弥补之前的数字类型可能的不足。标准库还包含了random包,用于处理随机数相关的功能。math包补充了一些重要的数学常数和数学函数,比如pi、三角函数等等。

5、datetime:日期和时间的操作库

日期和时间的管理并不复杂,但容易犯错。Python的标准库中对日期和时间的管理颇为完善,你不仅可以进行日期时间的查询和变换,还可以对日期时间进行运算。通过这些标准库,还可以根据需要控制日期时间输出的文本格式

python中有很多包管理工具有哪些yolk

1、pip是python的管理工具,是一个现代的,通用的?Python?包管理工具,提供了对Python包的查找、下载、安装、卸载的功能。

如以下命令:

$pipinstallrequests,

$pipsearchxml,

$pipshowbeautifulsoup4,

$pipuninstallrequests。

2、Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项,Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等。

扩展资料:

pip的快捷按键使用:

install:安装包安装(Installpackages.)

downloa:下载下载包(Downloadpackages.)

uninstall:卸载卸载包(?Uninstallpackages.)

Anaconda默认安装:

python-3.6.0-0...

_license-1.1-py36_1...

alabaster-0.7.9-py36_0...

anaconda-client-1.6.0-py36_0...

anaconda-navigator-1.4.3-py36_0...

astroid-1.4.9-py36_0...

astropy-1.3-np111py36_0...

babel-2.3.4-py36_0...

backports-1.0-py36_0...

beautifulsoup4-4.5.3-py36_

参考资料来源:百度百科-anaconda

参考资料来源:百度百科-PIP

Python 包管理工具

??Python之所以受欢迎不光是因为它简单易学,更重要的是它有成千上万的宝藏库。这些库相当于是已经集成好的工具,只要安装就能在Python里使用。它们可以处理各式各样的问题,无需你再造轮子,而且随着社区的不断更新维护,有些库越来越强大,几乎能媲美企业级应用。那么这些工具库怎么下载安装呢?它们被放在一个统一的“仓库”里,名叫PyPi(Python Package Index),所有的库安装都是从这里调度。有了仓库之后,还需要有管理员,pip就是这样一个角色。

??pip 是 Python 中的标准库管理器,这意味着它是一个工具,用它可以来管理 Python 标准库中其他的包,允许你安装和管理不属于 Python 标准库的其它软件包,其提供了对 Python 包的查找、下载、安装、卸载等功能。总的来说,pip的Python第三方库的大管家,搞懂它,会让你省很多事。从Python 3 = Python 3.4 、Python2 = Python2.7.9 版本开始,pip默认包含在Python的安装程序中,在安装Python时将会自动被安装,省事方便。

??Python 的安装器中自带了 pip,所以你可以直接使用它,除非你安装的是更早版本的 Python。你可以通过以下命令来判断是否已安装:

如果你的 Python 环境没有安装 pip,则可以使用以下方法来手动安装。pip 安装文件下载: pypi.org/project/pip…

pip提供的命令不多,但是都很实用

??pip命令默认使用的是国外的pypi镜像(pypi.python.org),安装慢不说,有时甚至会导致出现超时等网络问题,有时候为了安装一个包,失败重试安装好几次都不一定成功。所以,使用国内的pypi镜像,亦即 切换 pip 源 ,这样速度上更有保证,不失为一种加速pip安装第三方包的好方法。常用的镜像站有阿里云、清华大学等。其中清华大学开源软件镜像站是每 5 分钟同步一次的,比较推荐使用。阿里云镜像站的速度也非常快,这也是我现在在使用的。

??切换切换 pip 源可以是临时性的,也可以设置为默认。临时性的,就是在安装包时,通过pip命令的 -i 选项指定镜像源即可。例如,临时使用阿里云镜像站作为 pip 源,可以是这样安装:

??如果每次安装时都想要通过镜像源来安装,上面的办法不免有些麻烦。我们可以修改pip的配置文件,将镜像源写入到 pip 配置文件中。 对于linux系统 ,修改 ~/.pip/pip.conf 文件 (没有就创建一个文件夹及文件,文件夹要加“.”,表示是隐藏文件夹):

然后在文件中保存如下内容:

?? 对于windows系统 ,在C:Users文件夹下的用户目录(例如如果当前用户是Administrator则是C:UsersAdministrator)下创建pip文件夹,然后再在此文件夹下创建pip.ini文件,在文件中写入一下内容:

??配置完成后再通过 pip config list 查看pip配置。

??我们经常会遇到这样的开发需求,比如你手头有多个开发项目,其中项目A要求用python3.7,项目B需要用python3.6,有要求项目A和项目B依赖包相互独立,互不干扰。为了满足这样的开发需求,我们需要在自己的电脑上安装多个Python版本,并且项目之间进行环境隔离。因此,我们要想运行这些项目,在工作电脑上就要安装不同版本的Python。 pyenv 是Python版本管理工具,通过系统修改环境变量来实现Python不同版本的切换,利用它可以在同一台电脑上安装多个版本的Python,设置目录级别的Python,还能创建和管理vitual python enviroments。而且所有的设置都是用户级别的操作,不需要sudo命令。

??首先安装pyenv,如果你是Mac电脑,那么推荐使用Homebrew来安装。

要想升级pyenv,则可以执行:

pyenv安装完成后,需要将$HOME/.pyenv/bin添加到PATH变量前面,这一步非常关键。

也可以采用手动安装的方式,将pyenv检出到你想安装的目录。

??添加环境变量,将PYENV_ROOT 指向 pyenv 检出的根目录,并向 $PATH 添加 $PYENV_ROOT/bin 以提供访问 pyenv命令的路径。这里的 shell 配置文件(~/.bash_profile)依不同系统而需作修改,如果使用 Zsh 则需要相应的配置 ~/.zshrc

在使用 pyenv 之后使用 pip 安装的第三方模块会自动安装到当前使用 python 版本下,不会和系统模块产生冲突。使用 pip 安装模块之后,如果没有生效,记得使用 pyenv rehash 来更新。

安装完pyenv,可以安装Python,首先查看可安装的Python版本:pyenv install -l,接下来开始安装Python

执行命令 pyenv versions 查看安装结果。

可以看到,已经成功安装了Python,安装的位置在 /Users/dllwh/.pyenv。

可以看到,3.9.9 前面有一个星号,说明成功切换到了 3.9.9 版本,可以执行一下python来验证。

??Pipenv 是 Python 官方推荐的包管理工具,它综合了 virtualenv、pip 和 pyenv 三者的功能,你可以使用 pipenv 这一个工具来安装、卸载、跟踪和记录依赖性,并创建、使用和组织你的虚拟环境。

如果你是Mac电脑,那么推荐使用Homebrew来安装和升级pipenv:

也可以通过pip来安装和升级pipenv:

进入到项目目录中,通过下面的指令为项目创建虚拟环境。

??上面的操作,给pipenv_demo这个项目初始化了一个 Python 3.9.9 的虚拟环境,并在项目录下生成一个项目依赖包文件 Pipefile。如果系统中没有 3.9.8 版本的Python,pipenv 会调用 pyenv 来安装对应的 Python 的版本。默认地,虚拟环境会创建在 ~/.local/share/virtualenvs目录里面。我们也可以通过 pipenv --venv查看项目的虚拟环境目录。可以通过 pipenv --rm 删除虚拟环境。

如果想更改虚拟环境的目录,可以在 .bashrc 或 .bash_profile 中,设置环境变量WORKON_HOME,指定虚拟环境的目录所在位置,比如想将虚拟环境放到~/.venvs目录,则可以执行下面的命令。

如果希望在项目目录下创建虚拟环境目录(.venv),需要在 .bashrc 或 .bash_profile 中配置环境变量PIPENV_VENV_IN_PROJECT:

??pipenv使用 Pipfile 和 Pipfile.lock 来管理依赖包,并且在使用pipenv添加或删除包时,自动维护 Pipfile 文件,同时生成 Pipfile.lock 来锁定安装包的版本和依赖信息。相比pip需要手动维护requirements.txt 中的安装包和版本,具有很大的进步。

??为项目安装依赖包到虚拟环境中,使每个项目拥有相互独立的依赖包,是非常不错的Python的开发实践。安装依赖包到虚拟环境中的方法:

执行完上面的命令后,检查一下是否安装成功:

??观察项目的根目录下,又多了一个 Pipfile.lock 文件。这两个文件记录了此项目的依赖包,这两个文件的区别是 Pipfile 中安装的包不包含包的具体版本号,而Pipfile.lock 是包含包的具体的版本号的。如果不想产生 Pipfile.lock 文件,在安装依赖包的时候,加上 –skip-lock 选项即可。

在使用pipenv的时候,常常会安装过程比较慢,这个是因为pipenv创建的 Pipfile 中默认的Pypi源是python官方的 pypi.python.org/simple。我们国内…

??为了避免每次都要指定–pypi-mirror,我一般会在创建好Pipfile以后,将文件中 source 块下的 url 字段,设置为国内的 pypi 源,我推荐的是清华的Pypi源或者阿里源,具体设置如下:

如果是要删除虚拟环境中的第三方包,执行:

用git管理项目时候,要把Pipfile和Pipfile.lock加入版本跟踪。这样clone了这个项目的同学,只需要执行:

就可以安装所有的Pipfile中 [packages]部分列出来的包了,并且自动为项目在自己电脑上创建了虚拟环境。

上面的方法都是安装Pipfile中列出来的第三方包的最新版本,如果是想安装Pipfile.lock中固定版本的第三方依赖包,需要执行:

如果项目之前使用requirements.txt来管理依赖的,那么使用pipenv安装所有依赖可以采用类似pip的方法:

??虚拟环境创建好了之后,就可以在里面进行开发了。如果在命令行下开发,则在项目目录下执行 pipenv shell ,就进入到了虚拟环境中,在这个环境中,已经包含安装过的所有依赖包了,接下来就可以利用这些依赖包进行开发工作了。如果是用Pycharm进行开发,就更简单了,直接用Pycharm打开项目即可。可以从Pycharm中的左侧导航栏里面看到External Libraries显示的是虚拟环境中的Python解释器了。

在虚拟环境中执行开发好的程序,有两种方式,一种是前面提到的先执行pipenv shell进入到虚拟环境后,再执行python程序;另一种方式,则是执行pyenv run,比如在虚拟环境中执行基于pytest框架编写的测试用例,只需要执行下面的命令即可:

作者:独泪了无痕

链接:

(责任编辑:IT教学网)

更多

推荐时间特效文章