包处理工科具,Python包管理工具和多版本意况管

1、python3安装

下载地址:

#设置意况centOS 7

#安装信任包:

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

#起始安装:

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
mkdir -p /usr/local/python356
tar zxvf Python-3.6.5.tgz
cd Python-3.6.5
./configure --prefix=/usr/local/python356
make
make install
ln -s /usr/local/python356/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python356/bin/pip3 /usr/local/bin/pip3
pip3 install --upgrade pip  #更新pip
pip3 install ipython  #安装ipython

#通常安装python3.5上述会增大安装了包管理工科具setuptools和pip

生机勃勃、常用命令

pip 是首选的Python包管理工具,首要用来安装 PyPI 上托管的软件包(第三方库、应用、框架等),用于代替老版的 easy_install 工具。在Python3的支出中应有尽量使用pip,不要三回九转选用 easy_install。
从 Python 3.4 起始,Python暗许内置了pip (import pip)。,可是你能够推行上边包车型地铁命令晋级pip:

$ pip install -U pip

python基础境遇搭建

Python的条件搭建说难也简单,说轻便也不简单。首要有上述几点。

1.Python的装置就曾经自带了Python解释器,暗中同意是CPython。

2.当我们供给动用第三方库的时候,我们供给使用到的包管理工科具。

3.当我们的Computer有两种Python版本,并且在每种Python版本都急需有虚构情况时,那亟需有意况管理。

4.当我们要把团结的前后相继打包成exe时,则必要Python打包软件。

 1. Python包管理工科具

在装置Python包的长河中,常常涉及到distutils、setuptools、distribute、setup.py、easy_install、easy_install和pip等等。忽地对Python的包管理混乱了,那一个工具关系是何等,应该怎么去筛选使用?

上边就回顾介绍下Python包管理有关的部分内容。

2、安装setuptools包管理工科具

下载地址:setuptools-39.2.0.zip

解压安装:

unzip setuptools-39.2.0.zip
cd setuptools-39.2.0
python33 setup.py build #测试环境
python33 setup.py install #安装

谬误化解:

RuntimeError: Compression requires the (missing) zlib module

表明远远不够zlib和zlib-devel包,
缓慢解决情势:

yum install zlib zlib-devel -y
#然后:进入到安装python的源码包目录下(这步很重要)我的是python33.6版本
cd /home/tools/python33.6
make #重新编译
make install #重新安装一下
#然后:进入要安装的setuptool源码目录下:
python33 setup.py install 
#使用新安装的python33.6安装,不要使用系统自带的python安装。

1、使用 install 命令安装包:

豆蔻梢头.Python的设置不必细说

1.1 distutils

distutils 是 python 规范库的黄金年代有的,那么些库的指标是为开拓者提供黄金时代种方便人民群众的打包方式, 同期为使用者提供方便的安装格局。我们平常采纳的setup.py正是依赖distutils达成的,然后通过setup.py就能够开展打包可能设置了。

看一个简约的例子,找二个索引创制五个公文foo.py和setup.py,内容如下:

1 # foo.py
2 def func():
3     print 'hello world!'

1 # setup.py
2 from distutils.core import setup
3 setup(
4     name='foo',
5     version='1.0',
6     author='winter',
7     author_email='winter@126.com',
8     py_modules=['foo'],
9 )

然后,在该目录中运作如下命令:

图片 1

会制造dist文件和三个foo-1.0.zip压缩文件,使用者就足以解压缩这一个包,然后实践python  setup.py install进行安装,然后就足以选取那一个foo模块了。

图片 2

至于更过什么编写setup.py的内容,请自行参阅Python官方文书档案中的setupscript部分。

3、pip安装使用

(1)下载源码安装

软件包下载地址:pip-10.0.1.tar.gz

wget https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz
tar xf pip-10.0.1.tar.gz
cd pip-10.0.1
python33 setup.py install #安装
ln -sv /usr/local/python33/bin/pip3 /usr/bin/pip3

#如报以下错误存候装setuptools。
ImportError: No module named 'setuptools'

(2)使用get-pip.py安装

#将get-pip.py下载到本地
#curl -o get-pip.py
#运转命令安装pip,暗中认可get-php.py会安装setuptools和wheel

python33 get-pip.py

#get-pip.py选项
--no-setuptools 不安装setuptools
--no-wheel 不安装wheel

(3)使用linux软件包管理工科具安装

#Centos:
sudo yum install python-pip
sudo yum upgrade python-setuptools #升级setuptools
#ubuntu:
sudo apt install python-pip #python2
sudo apt install python3-venv python3-pip #python3

(4)使用pip

#pip命令及选项

Usage:   
  pip3 <command> [options]

Commands:
  install                安装软件包
  download               下载软件包
  uninstall               卸载软件包
  freeze                  到处已安装的软件包
  list                    列出已安装的软件包
  show                    显示软件包的相信信息
  check                   检测软件包的依赖
  config                  管理本地和全局配置
  search                  搜索包
  wheel                   构造wheel文件
  hash                    计算包档案的hash
  completion              命令完成的帮助命令
  help                    显示帮助命令

General Options:
  -h, --help                 显示帮助
  --isolated                 以独立模式运行pip,忽略环境变量和用户配置
  -v, --verbose              详细信息,最多可以使用3次
  -V, --version              显示版本
  -q, --quiet                减少输出
  --log <path>               写入日志文件
  --proxy <proxy>            以[user:passwd @] proxy.server:port的形式指定代理
  --retries <retries>        每个连接应尝试的最大重试次数(默认5次)
  --timeout <sec>            设置套接字超时(默认15秒)
  --exists-action <action>   当路径已经存在时的默认动作: (s)witch, (i)gnore, (w)ipe,(b)ackup, (a)bort).
  --trusted-host <hostname>  将该主机标记为可信,即使它没有有效或任何HTTPS
  --cert <path>              备用CA软件包的路径
  --client-cert <path>       SSL客户端证书路径,包含私钥和PEM格式证书的单个文件
  --cache-dir <dir>          将缓存数据存储在<dir>中
  --no-cache-dir             禁用缓存
  --disable-pip-version-check
                             不要定期检查PyPI以确定是否可以下载新版本的pip

  --no-color                 显示彩色输出

#pip安装、升级、卸载包

#在linux或MacOS上:
pip install -U pip #升级pip

#在windows上:
python -m pip install -U pip

#安装包:
pip install SomePackage 
pip install SomePackage==1.0.4 
pip install 'SomePackage>=1.0.4'

#在指定的文件需求中安装包:
pip freeze 查看已安装的包,可以导出为requirements.txt文件中
pip install -r requirements.txt

#将某个包升级到最新版本:
pip install --upgrade somepackage

#查找发行版和开发版安装包
pip install --pre somepackage

#wheel安装软件包
pip wheel --wheel-dir=/local/wheels -r requirements.txt

#卸载软件包
pip uninstall somepackage

#列出已安装的软件包
pip list

#列出过时的软件包并显示最新版本
pip list --outdated

#显示已安装软件包的相信信息
pip show sphinx

#搜索软件包
pip search "requests"

 #改变本国pip源

pip允许利用标准的ini样式配置文件中设置富有的通令行选项暗许值,pip配置文件能够在偏下地方,有系统和蒙受的区分,如virtualenv和站点布局,个中站点布局是装有顾客之间分享的:

种种客户:

  • 在Unix上,暗中认可配置文件是:$HOME/.config/pip/pip.conf 它尊重XDG_CONFIG_HOME情形变量。
  • 在macOS上,配置文件 是还是不是留存任何目录。$HOME/Library/ApplicationSupport/pip/pip.conf``$HOME/Library/ApplicationSupport/pip``$HOME/.config/pip/pip.conf
  • 在Windows上,配置文件是%APPDATA%pippip.ini

思想的各类客户配置文件路线也是可用的,它放在:

  • 在Unix和MacOS上,配置文件是: $HOME/.pip/pip.conf
  • 在Windows上,配置文件是: %HOME%pippip.ini

在virtualenv上:

  • 在Unix和MacOS上,文件是 $VIRTUAL_ENV/pip.conf
  • 在Windows上,该文件是: %VIRTUAL_ENV%pip.ini

在总体站点上,也正是大局配置:

  • 在Unix上,该公文可能位于/etc/pip.conf。也许,它可能位于碰着变量XDG_CONFIG_DIRS(假使存在)中 设置的别样路线的“pip”子目录中/etc/xdg/pip/pip.conf
  • 在macOS上,该文件是: /Library/ApplicationSupport/pip/pip.conf
  • 在Windows XP上,该文件是: C:Documents andSettingsAll UsersApplication Datapippip.ini
  • 在Windows 7及越来越高版本中,该公文被埋伏,但能够在这里处写入 C:ProgramDatapippip.ini

假设经过pip找到八个布局文件,那么它们按以下顺序查找,前面包车型地铁布署将被前面查找的铺排覆盖使用:

  1. 率先读取站点范围的文书,然后
  2. 读取每种顾客文件,最终
  3. 读取virtualenv专项使用文件。

举例说配置国内douan的pip源:

[global]
timeout=60
index-url=http://pypi.douban.com/simple

[install]  #设置信任此站点
trusted-host=http://pypi.douban.com

#其他的源

阿里云 
中国科学技术高校 
豆瓣 
Python官方 
v2ex 
中原中国科学技术大学学 
浙大东军大学 


 

1.1 安装PyPI包

$ pip install SomePackage            # 安装最新版本
$ pip install SomePackage==1.0.4     # 安装指定版本
$ pip install 'SomePackage>=1.0.4'     # 指定安装的最小版本

clipboard.png

二.包管理工科具

Python的包管理工具备二种,distutils、setuptools(distribute)和pip。

1.2 setuptools 和 distribute

setuptools 是对 distutils 的增高,越发是引进了包依赖管理。大家能够经过ez_setup.py来安装setuptools。

关于distribute,它是setuptools的一个分支版本。分支的原由是有局地开荒者感到setuptools 开采太慢。但近年来,distribute 又联合回了 setuptools 中,所以能够认为它们是同多个事物。

眼下见到setup.py可以创设三个压缩包,而setuptools使用了生龙活虎种新的文件格式(.egg),可以为Python包创建egg文件。setuptools 能够识别.egg文件,并剖判、安装它。

使用 requirement.txt 需要文件

能够将要安装的多寡包也正是将 install 命令前面包车型客车参数都写入 requirement.txt 文件中,使用 -r 选项二回性全体设置。requirements.txt 文件的每风流倜傥行都要评释安装的内容,何况尽量不要依附文件中钦点包的上下安装顺序。

$ pip install -r requirements.txt

clipboard.png

可以将 pip freeze 列出的包写入到 requirement.txt 文件中,以便在别的系统中装置。

$ pip freeze > requirements.txt
$ pip install -r requirements.txt

1.distutils

distutils 是 python 标准库的后生可畏有个别,那么些库的指标是为开辟者提供朝气蓬勃种便利的打包格局,同一时间为使用者提供方便的设置方式。大家平常利用的setup.py就是依照distutils达成的,然后经过setup.py就能够进行李包裹装或许安装了。

举例:

python setup.py sdist表示打包大家的py程序

python setup.py install则是设置发行的第三方库

1.3 easy_install

率先,不引入使用,因为只可以设置无法卸载

当安装好setuptools/distribute之后,我们就足以一直动用easy_install那些工具了:

1) 从PyPI上安装二个包:当使用 easy_install package 命令后,easy_install 能够活动从 PyPI 上下载相关的包,并造成安装,升级

2) 下载三个包安装:通过 easy_install package.tgz 命令能够安装贰个业已下载的包

3) 安装egg文件:通过 easy_install package.egg 能够设置贰个egg格式的公文

依赖地点的剖析,能够看看setuptools/distribute和easy_install之间的涉及:

a)setuptools/distribute 都扩充了 distutils,提供了更加多的效应

b)easy_install是依靠setuptools/distribute的多个工具,方便了包的设置和晋级换代

1.2 安装 wheel 包

wheel本质上是七个 zip 包格式,用于 python 模块的安装,它的产出是为着代替老版本的Eggs。pip也足以平素设置wheel包。如若发布模块,推荐使用 wheel 格式。

$ pip install SomePackage-1.0-py2.py3-none-any.whl

clipboard.png

2.setuptools(distribute)

setuptools 是对 distutils 的拉长,尤其是引进了包重视处理。大家得以由此ez_setup.py来安装setuptools。

至于distribute,它是setuptools的八个分层版本。分支的原由是有部分开拓者以为setuptools 开垦太慢。但方今,distribute 又联合回了 setuptools 中,所以能够以为它们是同叁个事物。

日前看到setup.py能够成立二个压缩包,而setuptools使用了生机勃勃种新的文件格式(.egg),可感到Python包创建egg文件。setuptools 能够识别.egg文件,并分析、安装它。

1.4 PIP

pip是近日最盛行的Python包管理工科具,它被当作easy_install的代替品,而是依然有大气的作用创建在setuptools之上。

easy_install 有数不完青黄不接:安装工作是非原子操作,只扶助svn,未有提供卸载命令, 安装一文山会海包时须求写剧本。pip 解决了以上难点,已经济体改为新的事实标准。

经过pip –help查看支持文书档案,cmd下直接运转pip命令;

设若您对yum和apt-get相比较纯熟,那么pip的命令会令你有种一见倾心的认为到;

pip常用命令集合:

1)安装包

pip install SomePackage        #从PyPI安装PyPI上最新的软件包
pip install SomePackage==1.0.4    #安装指定版本的软件包
pip install 'SomePackage>=1.0.4'    #安装版本不能低于1.0.4
pip install ./downloads/SomePackage-1.0.4.tar.gz    #本地安装
pip install http://my.package.repo/SomePackage-1.0.4.zip    #从网上某个链接安装

还大概有三个基于信任文件安装:

pip freeze > requirements.txt        # 使用pip导出依赖文件列表
pip install -r requirements.txt        # 根据依赖文件列表,自动安装对应的软件包

2)升级包

pip list --outdated    #查看可升级软件包
pip install --upgrade SomePackage    #升级软件包

3)卸载包

pip uninstall SomePackage

4)查询包

pip list    #查看已安装软件包
pip show --files SomePackage    #查看软件包安装了哪些文件及路径等信息
pip search “query”    #不知道要安装的软件包的具体名称,使用search命令进行查询,会列出相关的包

5)配置镜像源

pip的镜像地址默许在国外,速度一点也不快,能够安装为国内镜像源

a)linux

修改 ~/.pip/pip.conf (Linux/Mac) 

b)windows

C:Users脚下客商名pippip.ini(未有pip.ini就创制三个)

境内的能够计划成南开的镜像源,配置为:

[global]  
index-url = https://pypi.tuna.tsinghua.edu.cn/simple  

1.3 安装本地包

$ pip install -e .                     # 项目在当前目录
$ pip install -e path/to/project       # 指定项目的目录路径

easy_install

当安装好setuptools/distribute之后,大家就足以向来利用easy_install那一个工具了:

从PyPI上安装三个包:当使用 easy_install package 命令后,easy_install 能够自动从 PyPI 上下载相关的包,并产生安装,升级。

下载三个包安装:通过 easy_install package.tgz 命令能够设置叁个早已下载的包

安装egg文件:通过 easy_install package.egg 能够安装三个egg格式的公文

依赖地方的剖析,能够看来setuptools/distribute和easy_install之间的涉及:

setuptools/distribute 都扩充了 distutils,提供了更加多的作用

easy_install是基于setuptools/distribute的二个工具,方便了包的安装和市级

6)pip代理设置

pip install xxx --proxy=http://username:password@host:port

1.4 从服务器托管的包中安装

$ pip install -e git https://git.repo/some_pkg.git#egg=SomePackage      # 从git安装
$ pip install -e svn svn://svn.repo/some_pkg/trunk/#egg=SomePackage  # 从svn安装
$ pip install -e git https://git.repo/some_pkg.git@feature#egg=SomePackage  # 从一个分支安装
$ pip install -e "git https://git.repo/some_repo.git#egg=subdir&subdirectory=subdir_path"  # install a python package from a repo subdirectory

3.pip

pip是时下最盛行的Python包管理工科具,它被当作easy_install的代替品,不过依然有大气的功能创立在setuptools之上。

easy_install 有大多欠缺:安装专门的工作是非原子操作,只支持svn,没有提供卸载命令, 安装一文山会海包时要求写剧本。pip 肃清了以上难题,已经产生新的事实规范。

pip的运用极其轻便,并扶助从随机能够通过 VCS 或浏览器访谈到的地址安装 Python 包:

安装:  pip install SomePackage

卸载:  pip uninstall SomePackage

 1.5 Conda包管理

聊到conda,就亟供给提起anaconda了;

Anaconda是多个用来科学总括的Python发行版,扶植Linux, Mac, Windows系统,具备多量的用于科学总括的第三方库;

conda是anaconda的包管理和境遇管理工科具, 是 pip 和 vitualenv 的组合。刚强推荐

anaconda解决了Python开辟者的两大痛点:

1)提供包管理,效率看似于 pip,Windows 平台安装第三方包平常战败的现象得以解决。

2)提供虚构意况管理,效能形似于 virtualenv,撤消了多版本Python并慰藉题。

设置时,会发掘成七个例外版本的Anaconda,分别对应Python 2.7和Python 3.5,多少个本子其实不外乎那点分别外其余都风流浪漫律。前面我们会看出,安装哪个版本并不本质,因为经过情状管理,大家能够很有利地切换运营时的Python版本。

透过conda –help命令查看扶持

1)安装包

conda install -n python34 somepackage # -n 安装到指定环境;如果不用-n指定环境名称,则被安装在当前活跃环境;-c 指定通过某个channel安装

2)升级包

升迁:pip只是一个包管理器,所以它不可能为您管理遭遇。pip以至不能够进步python,因为它不像conda同样把python充作包来处理。不过它能够安装一些conda安装不了的包。

conda可以用来升高python,anaconda,conda,有木有痛感很有力

conda update -n python34 xxx        # 更新package
conda update conda    # 更新conda,保持conda最新
conda update anaconda    # 更新anaconda
conda update python    # 更新python

3)删除包

conda remove -n python34 xxx

4)查询包

conda install xxxx    # 安装xxxx
conda list        # 查看当前环境下已安装的包
conda list -n python34    # 查看某个指定环境的已安装包
conda search xxx        # 查找package信息

5)校订镜像源

a)命令方式

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/        # 添加Anaconda的TUNA镜像,TUNA的help中镜像地址加有引号,需要去掉
conda config --set show_channel_urls yes    # 设置搜索时显示通道地址

b)配置文件情势

修改 ~/.condarc (Linux/Mac) 或 C:Users当下客户名.condarc (Windows) 配置:

channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
 - defaults
show_channel_urls: yes

从其余的目录中(除了PyPI)安装:

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

使用pip

在豪门利用Python中,推荐应用pip进行Python包管理,pip的设置和利用都比较便于。

pip安装

pip的设置有三种常用的格局:

下载get-pip.py文件,然后实践 python get-pip.py 进行设置(若无安装setuptools,那么get-pip.py会援助安装)

下载pip源码包,然后通过setup.py进行安装

2. conda情状管理

在安装时期寻觅其余的目录(除了PyPI):

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

4.小tips

easy_install --help

pip --help

能够领悟到pip和easy_install的选用情势和参数。

PyPI ( Python Package Index)是得到第三方 Python 软件包以补充规范库的叁个站点。

2.1 conda多情况设置

驷比不上舌用来清除多版本python共存的标题,相同的时间针对分化的等级次序成立独立的支付景况;除了conda,其余主流的还会有virtualenv和pyenv,不过本身还是喜欢用conda

1)通过conda命令管理

# 创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本),新的开发环境会被默认安装在目录~/anaconda/envs下。你可以通过-h指定一个其他的路径;如果我们没有指定安装python的版本,conda会安装我们最初安装conda时所装的那个版本的python。
conda create –name python34 python=3.4  
# 安装好后,使用activate激活某个环境  
activate python34 # for Windows  
source activate python34 # for Linux & Mac  
# 激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加入PATH  
# 此时,再次输入  
python--version  
# 可以得到`Python 3.4.5 :: Anaconda 4.1.1 (64-bit)`,即系统已经切换到了3.4的环境  
# 如果想返回默认的python 2.7环境,运行  
deactivate python34 # for Windows  
source deactivate python34 # for Linux & Mac  
# 复制一个环境  
conda create -n pyhon34 --clone python34clone  
# 删除一个已有的环境  
conda remove –name python34 --all  
# 查看已安装的环境,当前被激活的环境会显示有一个星号或者括号
conda info -e  

 activate和deactivate效果如下:

图片 3

2)pycharm

特简单

图片 4

安装情况名字,贮存的任务以至情况设置的python版本

图片 5

1.5 进级软件包

pip在升级软件包早前会自行卸载旧的软件包

$ pip install -U|--upgrade SomePackage

clipboard.png

三.Python意况管理

Python本人有成百上千个版本,第三方的Python包又有为数不菲可用的本子,所以平时会遭遇上边包车型大巴主题素材:

1.运营不相同的Python程序,须求动用分裂版本的Python(2.x或3.x).

2.在同一中Python版本中,也许供给运用分歧版本的第三方包,比方:Django 1.6照旧Django 1.7

对于地点的难题,已经有多数现有的个工具得以消除。根据解决地点难点的点子,那个工具大约能够分为两类:

1.Python 本子情状切换工具

2.特定Python版本虚构景况切换工具

2.2 偷偷偷取大器晚成篇很牛逼的博文

2、查看安装的包

Python版本景况切换工具

Python版本遭逢切换工具的效果与利益正是让多少个差异版本的Python可以在系统上共存。并且提供轻松的下令来支撑不一致Python版本之间的切换。

pyenv

现阶段最流行的 python版本碰着切换工具,不过不援救Windows

pywin

Windows 上pyenv 的替代品,不过意义相对pyenv非常少

py.exe

Python 3.3 版本之后Windows系统自带的运转工具(Python Launcher for Windows),能够从来在指令行中使用

日常的pythonic应该都会有Python2和Python3,所以最佳就用自带的py.exe当然最棒啊。

关于conda和anaconda不可不知的误解和真相——conda必知必会

二〇一三年发表的跨平台包管理软件conda,是在数据解析界和Numpy和Scipy同样受迎接的python工具。可是普通技术员平时只是会利用conda安装一些第三方包, 对它从哪儿来,它是怎么,和它要到哪个地方去所知甚少。不久前大家将在讲一下关于conda和anaconda不可不知的误解和实际——conda必知必会的这一个事实。

2.1 使用 freeze 格式化输出安装的包:

$ pip freeze 

clipboard.png

特定Python版本虚构情状切换工具

轻巧易行的说,虚拟情况切换工具就是足以依靠当前选取的Python版本碰着来创立三个设想的Python景况。那几个设想的条件之间相互独立,可以安装种种境况所需的Python包。

irtualenv

当下最盛行的 python 设想意况陈设工具

virtualenvwrapper

使用shell开荒,是对virtualenv的三个打包,简化了virtualenv命令的应用,何况举行了部分作用扩充

virtualenvwrapper-win

使用Windows batch shell开发的virtualenvwrapper

venv

Python 3.3 版本之后自带的设想意况工具,仅协助 python 3.3 和事后版本

以此本人还不曾用,但自己觉着那一个工具十一分好,那样小编的逐条分歧的Python项指标库终于得以泾渭显著了,实际不是三个大杂烩。

误解 #1:Conda是python的三个发行版,不是八个包处理器。

谜底: Conda是贰个包管理器;Anaconda才是多少个python发行版。尽管conda是用Anaconda打包的,但是它们七个的指标是全然两样的。

软件发行版是在系统上提前编写翻译和布局好的软件包集合, 装好了后就能够直接用。包管理器是自动化软件设置,更新,卸载的大器晚成种工具。Conda,有忘其所以”conda install”, “conda update”, “conda remove”, 所以很明显, conda是包处理器。

再来说说, Anaconda 和 Miniconda. Anaconda发行版会预装比非常多pydata生态圈里的软件,而Miniconda是非常的小的conda安装意况, 三个通透到底的conda遭逢。

然而,conda和Anaconda未有一定关联, 你可以不安装Anaconda的还要, 使用conda安装和管理软件。

2.2 使用 list 命令查看安装的第三方包

$ pip list [--fromat (legacy|columns)]

clipboard.png

clipboard.png

clipboard.png

打包Python程序exe

Python打包程序差不离有多个:

1.py2exe

2.pyinstaller

当然,那几个作者尚未纠结,因为py2exe有点太老了,当然选取pyinstaller呀。

安装pyinstaller

在github或许pyinstaller官方网站络下载源码,然后解压,切换成解压的目录,实施python setup.py install,也便是distutils的办法。

误解 #2: Conda是四个python包管理器

实际:Conda是贰个通用的包管理器,当初规划来保管任何语言的包。所以用来处理python包当然也是绰有余裕。

$ conda search –canonical | grep -v ‘pydd’

那句发号布令能够帮您找寻不是 pip和virtualenv能够管理的python包,而conda能够管理

翻开哪些软件需求更新(列出过时的包):

$ pip list -o|--outdated

clipboard.png

误解 #3: Conda 和 pip 是一向竞争关系

事实:Conda pip 指标并不相似,唯有小部分子集有交集有角逐关系:比方python包的安装和条件隔断。 

一句话就能够看出差距:

pip能够允许你在别的景况中设置python包,而conda允许你在conda意况中安装任何语言包(包含c语言只怕python)。

要是大家只是关切python包安装,conda和pip也是为分歧客户和众口难调指标定制的。如若您想在一个原来就有系统快捷管理python包,那你应有选择pip,因为conda应该在conda意况中运用,而pip激励在任哪个地区境中央银行使 。而只要,你想要让广大依据库一同很好地职业(比方数据剖析中的Numpy,scipy,Matplotlib等等)那你就应有使用conda,conda很好地整合了包里面的互动正视。

2.3 使用 show 命令查看安装的包的详细新闻:

$ pip show SomePackage

clipboard.png

误解 #4: 使用conda首先是不辜负权利况且会引起冲突的

真情:Conda笔者多年来用python典型创造conda,唯有在此多少个明晰合理的时候,才使用别的工具。

你恐怕会问,小编深信conda是依据python标准的,但是它们为啥偏偏要撇开pip自个儿去造风姿洒脱套包管理器呢?为何他们不直接去pip共青团和少先队进献主张呢?

其实,风度翩翩起始conda那伙人是想在pip社区进献主见和代码的,不过像numpy,scipy那样对底层c库有复杂信任的包管理须求,真的少之又少,所以社区不收受这样的有的时候常有的需求。所以,他们只得自个儿去造conda包管理器了。

查看安装包的切切实实安装文件

$ pip show -f|--files SomePackage

clipboard.png

误解 #5: conda无法和virtualenv一同利用,所以它对我的干活没用

其实:你能够在virtualenv意况下安装conda,然而最佳用conda自个儿的境况工具,那样会和pip有越来越好的宽容性

你能够在virtualenv里面安装conda:

$ virtualenv test_conda
$ source test_conda/bin/activate
$ pip install conda
$ conda install numpy

也足以在conda中造虚构景况:

$ conda create -n yourenvname python=x.x anaconda
$ source activate yourenvname

3、使用 uninstall 命令卸载软件包

$ pip uninstall Django

clipboard.png

也得以像安装包肖似,就要卸载的包写入到 uninstall.txt 文件中,然后使用 -r 参数,三回性卸载。

误解 #6: 现在pip用wheels了,conda没怎么用了

实际意况:wheels只是缓和了conda试图克制的比相当多困难中的一个, conda二进制编排照旧有超级多wheels未有的优势 

wheels和conda都解决了预编写翻译的代码安装难点(不只有是源代码安装)。可是wheel没有conda的依赖管理本领,wheels只好追踪python代码的正视关系,conda能够追踪非常多c代码的依赖关系,那为广大用numpy和scipy做科学计算优化的地教育学家省了成都百货上千心。

4、使用 download 命令下载软件包

$ pip download Django

clipboard.png

误解 #7: conda不是开源的;它是被毛利集团掌握控制的,假使有一天公司想收取薪给了,那您就得结账

Reality: conda (the package manager and build system) is 100% open-source, and Anaconda (the distribution) is nearly there as well.

Anaconda和conda都是standard BSD license开源标准。假让你还不放心,用pip install conda吧,那是截然开源的。

5、使用 search 命令在PyPI饭店中搜索软件包

$ pip search Django

clipboard.png

误解 #8: Conda 软件包自己都以闭源的吧?

事实: 虽说conda暗中同意路子未有完全开源,不过有四个社区敢为人先的conda-forge,它会推向conda的包和发行版完全开源。

6、使用 help 命令查看pip的辅帮手册

$ pip help

也足以访谈官方的站点:

https://pip.pypa.io/en/stable/reference/

clipboard.png

误解 #9: 可是,即使Continuum Analytics集团倒闭,conda就不会存活了吧 ?

真情: conda未有和Continuum Analytics公司有为数不菲牵扯;公司为社区无偿提供扶植服务,全数软件都有官员,并非合营社全权负担。

二、 配置文件

pip允许你在职业的ini配置文件中装置有着命令选项的默许,配置文件的称谓和路子,在分歧的阳台并不形似,你也许有针对性系统的、客户的以致设想意况的安插。

误解 #10: 各个人都应该放任(conda | pip)去用(pip | conda) !

事实: pip conda 是为分化目标存在的,大家应有更为珍爱怎么还要用好这五个工具,并不是只用一个

针对系统的陈设文件:

在Unix平台,配置文件的地点大概是 /etc/pip.conf,只怕它恐怕是条件变量 XDG_CONFIG_DIRS 中设置的门路 pip 路线的子目录 。

针对客商的布置文件:

在Unix平台,默许的配置文件是 $HOME/.config/pip/pip.conf ,这些门路决意于
XDG_CONFIG_HOME 意况变量的值。有三个早些版本接纳的职位:$HOME/.pip/pip.conf,也是能够利用的。

你也得以在条件变量 PIP_CONFIG_FILE 中自定义四个门道。

本着虚构情形:

在Unix平台,默许的布局文件是 $VIRTUAL_ENV/pip.conf

假若由pip找到八个布局文件,那么它们将按以下顺序组合:

  1. 率先,站点范围的文书被读取

  2. 下一场,读取各种客商的文件

  3. 终极,特定于virtualenv的文本被读取

末端配置文件的读取覆盖会覆盖前边的公文读取的值,所以只要在系统的布置文件和客商的布署文件中的超时时间参数都设定了,那么使用客户配置文件中的值。

安装参数的名字来自于命令行的选项,比方:你想要使用差别的包的索引 (--index-url) 并安装http的过期时间 (--default-timeout)为60s:

[global] 
timeout = 60 
index-url = http://download.zope.org/ppix

任何子命令都得以在它和睦的有的被设置,那个时候同名的大局的安装会被遮住。举例:收缩freeze命令的过期时间到10s,其余的一声令下的逾期时间为60s。

[global] 
timeout = 60 

[freeze] 
timeout = 10

一声令下行自动补全

在bash、zsh和fish中,pip援助命令行补全。

bash:

$pip completion --bash >> ~/.profile

同风姿洒脱的,你也足以在shell中央司法机关接选拔eval函数和completion命令:

$ eval "`pip completion --bash`"

越来越多的铺排参数能够参照他事他说加以考察官方文书档案:
https://pip.pypa.

本文由星彩网app下载发布于计算机编程,转载请注明出处:包处理工科具,Python包管理工具和多版本意况管

TAG标签: 星彩网app下载
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。