包管理工科具,Python包管理工科具和多版本环境管理

1、python3安装

下载地址:

#设置环境centOS 七

#安装注重包:

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

#壹般设置python叁.伍以上会附加安装了包管理工科具setuptools和pip

1、常用命令

pip 是首要选用的Python包管理工科具,主要用于安装 PyPI
上托管的软件包(第贰方库、应用、框架等),用于代替老版的 easy_install
工具。在Python叁的付出中应有尽量选拔pip,不要一连选取 easy_install。
从 Python 三.四 开头,Python默许内置了pip (import
pip)。,可是你可以实施上面包车型地铁通令升级pip:

$ pip install -U pip

python基础条件搭建

Python的环境搭建说难也简单,说简练也不简单。首要有上述几点。

1.Python的装置就曾经自带了Python解释器,默许是CPython。

二.当我们须求利用第一方库的时候,大家要求采取到的包管理工科具。

三.当大家的总计机有两种Python版本,并且在各样Python版本都供给有虚拟环境时,那亟需有环境管理。

肆.当大家要把本人的先后打包成exe时,则供给Python打包软件。

 一. Python包管理工科具

在安装Python包的进度中,平常涉及到distutils、setuptools、distribute、setup.py、easy_install、easy_包管理工科具,Python包管理工科具和多版本环境管理。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安装。

壹、使用 install 命令安装包:

一.Python的安装不必细说

1.1 distutils

distutils 是 python
标准库的一局部,那几个库的指标是为开发者提供一种方便人民群众的打包形式,
同时为使用者提供方便的安装情势。大家日常使用的setup.py正是基于distutils完毕的,然后经过setup.py就足以展开包装大概安装了。

看1个简短的例子,找三个目录成立五个公文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文件和1个foo-一.0.zip压缩文件,使用者就能够解压缩那几个包,然后实施python 
setup.py install进行设置,然后就足以采用那一个foo模块了。

亚洲必赢官网 2

有关更过哪些编写setup.py的始末,请自行参阅Python官方文书档案中的setupscript部分。

叁、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

(三)使用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%\pip\pip.ini

观念的各样用户配置文件路径也是可用的,它坐落:

  • 在Unix和MacOS上,配置文件是: $HOME/.pip/pip.conf
  • 在Windows上,配置文件是: %HOME%\pip\pip.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 andSettings\All Users\Application Data\pip\pip.ini
  • 在Windows
    柒及更加高版本中,该公文被隐形,但足以在此地写入 C:\ProgramData\pip\pip.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

2.包管理工科具

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

1.2 setuptools 和 distribute

setuptools 是对 distutils
的滋长,特别是引进了包注重管理。我们得以经过ez_setup.py来安装setuptools。

有关distribute,它是setuptools的贰个分段版本。分支的原因是有壹些开发者认为
setuptools 开发太慢。但以往,distribute 又统1回了 setuptools
中,所以能够认为它们是同三个东西。

前方看到setup.py能够创建一个压缩包,而setuptools使用了1种新的文件格式(.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
标准库的1部分,这几个库的指标是为开发者提供壹种方便人民群众的打包格局,同时为使用者提供方便的安装形式。大家常常利用的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
上下载相关的包,并成功安装,升级

二) 下载多个包安装:通过 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本质上是2个 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
中,所以能够认为它们是同2个东西。

前方看到setup.py能够创设1个压缩包,而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\此时此刻用户名\pip\pip.ini(未有pip.ini就创办七个)

国内的能够安顿成南开的镜像源,配置为:

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

一.三 安装本地包

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

easy_install

当安装好setuptools/distribute之后,大家就足以一贯选择easy_install那么些工具了:

从PyPI上设置2个包:当使用 easy_install package 命令后,easy_install
能够自行从 PyPI 上下载相关的包,并做到安装,升级。

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

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

依照下边包车型大巴辨析,能够看来setuptools/distribute和easy_install之间的涉嫌:

setuptools/distribute 都扩展了 distutils,提供了更加多的功能

easy_install是依据setuptools/distribute的3个工具,方便了包的装置和省级

6)pip代理设置

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

一.肆 从服务器托管的包中安装

$ 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 有那2个相差:安装工作是非原子操作,只协助svn,未有提供卸载命令, 安装壹体系包时必要写剧本。pip
消除了以上难点,已经变为新的事实标准。

pip的行使十分简单,并帮衬从随机可以透过 VCS 或浏览器访问到的地址安装
Python 包:

安装:  pip install SomePackage

卸载:  pip uninstall SomePackage

 1.5 Conda包管理

聊起conda,就非得要谈到anaconda了;

Anaconda是3个用来科学计算的Python发行版,协理Linux, Mac, Windows系统,拥有多量的用于科学总括的第贰方库;

conda是anaconda的包管理和条件管理工科具, 是 pip 和 vitualenv
的组成。强烈推荐

anaconda消除了Python开发者的两大痛点:

1)提供包管理,功效看似于 pip,Windows
平台安装第三方包平时战败的境况得以化解。

贰)提供虚拟环境管理,功效周围于
virtualenv,消除了多版本Python并存难题。

设置时,会发觉有五个分歧版本的Anaconda,分别对应Python 2.柒和Python
三.五,三个本子其实除了那一点分别外其余都同样。前边我们晤面到,安装哪个版本并不本质,因为经过环境管理,大家得以很有益于地切换运维时的Python版本。

经过conda –help命令查看协理

1)安装包

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

2)升级包

唤醒:pip只是八个包管理器,所以它不可能为您管理环境。pip甚至无法晋升python,因为它不像conda1样把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
软件包以填补标准库的叁个站点。

二.一 conda多环境设置

重点用以消除多版本python共存的题材,同时针对不一致的类型创立独立的费用环境;除了conda,其余主流的还有virtualenv和pyenv,可是作者只怕喜欢用conda

一)通过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

一.五 升级软件包

pip在提高软件包从前会活动卸载旧的软件包

$ pip install -U|--upgrade SomePackage

clipboard.png

三.Python环境管理

Python本人有诸多个版本,第一方的Python包又有过多可用的本子,所以时常会遇上下边包车型客车标题:

一.运维差别的Python程序,需求接纳分裂版本的Python(二.x或3.x).

二.在同一中Python版本中,恐怕须求运用差异版本的第三方包,例如:Django
一.6照旧Django 1.7

对此地方的难题,已经有不少现成的个工具得以化解。依照化解地点难题的方法,那些工具大约能够分成两类:

一.Python 版本环境切换工具

2.特定Python版本虚拟环境切换工具

二.2 偷偷盗取1篇很牛逼的博文

二、查看安装的包

Python版本环境切换工具

Python版本环境切换工具的法力就是让四个不一致版本的Python能够在系统上共存。并且提供简单的授命来扶助差异Python版本之间的切换。

pyenv

脚下最风靡的 python版本环境切换工具,不过不帮助Windows

pywin

Windows 上pyenv 的替代品,可是意义相对pyenv相比较少

py.exe

Python 叁.三 版本之后Windows系统自带的运转工具(Python Launcher for
Windows),能够一贯在指令行中使用

1般的pythonic应该都会有Python二和Python3,所以最棒就用自带的py.exe当然最佳啊。

至于conda和anaconda不可不知的误会和事实——conda必知必会

二〇一三年公布的跨平台包管理软件conda,是在数据分析界和Numpy和Scipy1样受欢迎的python工具。不过平时程序员平日只是会利用conda安装壹些第2方包,
对它从哪个地方来,它是何等,和它要到何地去所知甚少。今日大家就要讲一下关于conda和anaconda不可不知的误会和事实——conda必知必会的那3个事实。

二.1 使用 freeze 格式化输出安装的包:

$ pip freeze 

clipboard.png

特定Python版本虚拟环境切换工具

归纳的说,虚拟环境切换工具正是足以依据当前应用的Python版本环境来创设四个虚拟的Python环境。这么些虚拟的条件之间相互独立,能够安装种种环境所需的Python包。

irtualenv

当下最盛行的 python 虚拟环境安插工具

virtualenvwrapper

利用shell开发,是对virtualenv的2个装进,简化了virtualenv命令的选择,并且展开了有个别功效扩大

virtualenvwrapper-win

使用Windows batch shell开发的virtualenvwrapper

venv

Python 叁.3 版本之后自带的虚拟环境工具,仅帮忙 python 三.3 和将来版本

本条自家还从未用,但自小编认为那几个工具10分好,那样本身的一一分歧的Python项指标库终于得以泾渭鲜明了,而不是一个大杂烩。

误解 #一:Conda是python的一个发行版,不是2个包管理器。

谜底:
Conda是二个包管理器;Anaconda才是三个python发行版。尽管conda是用Anaconda打包的,不过它们多少个的目的是完全两样的。

软件发行版是在系统上提前编写翻译和布置好的软件包集合,
装好了后就足以一向用。包管理器是自动化软件安装,更新,卸载的1种工具。Conda,有发号施令”conda
install”, “conda update”, “conda remove”, 所以很扎眼, conda是包管理器。

再来说说, Anaconda 和 Miniconda.
Anaconda发行版会预装很多pydata生态圈里的软件,而Miniconda是微乎其微的conda安装环境,
一个根本的conda环境。

然而,conda和Anaconda未有必然涉及, 你能够不安装Anaconda的还要,
使用conda安装和管理软件。

2.二 使用 list 命令查看安装的第二方包

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

clipboard.png

clipboard.png

clipboard.png

打包Python程序exe

Python打包程序大约有八个:

1.py2exe

2.pyinstaller

理所当然,那些本身从没纠结,因为py二exe有点太老了,当然选拔pyinstaller呀。

安装pyinstaller

在github大概pyinstaller官网上下载源码,然后解压,切换来解压的目录,执行python
setup.py install,相当于distutils的秘籍。

误解 #贰: Conda是二个python包管理器

实际:Conda是三个通用的包管理器,当初设计来保管任何语言的包。所以用来管理python包当然也是绰绰有余。

$ conda search –canonical | grep -v ‘py\d\d’

那句发号施令能够帮您找出不是
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很好地构成了包里面包车型大巴相互正视。

二.3 使用 show 命令查看安装的包的详细音讯:

$ pip show SomePackage

clipboard.png

误解 #四: 使用conda首先是不负责任并且会引起顶牛的

真相:Conda作者多年来用python标准创设conda,唯有在非凡明晰合理的时候,才使用别的工具。

您可能会问,我深信不疑conda是坚守python标准的,可是它们为什么偏偏要撇开pip自个儿去造壹套包管理器呢?为啥他们不直接去pip团队贡献想法呢?

实则,一最先conda这伙人是想在pip社区进献想法和代码的,可是像numpy,scipy这样对底层c库有复杂注重的包管理要求,真的不多,所以社区不收受那样的不常有的要求。所以,他们只可以协调去造conda包管理器了。

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

$ pip show -f|--files SomePackage

clipboard.png

误解 #5: conda不能够和virtualenv1起利用,所以它对自作者的干活没用

其实:你能够在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

也足以像安装包1样,将要卸载的包写入到 uninstall.txt 文件中,然后利用 -r
参数,一回性卸载。

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

事实:wheels只是缓解了conda试图制伏的过多困苦中的叁个,
conda2进制编排如故有过多wheels未有的优势 

wheels和conda都消除了预编写翻译的代码安装问题(不仅仅是源代码安装)。然则wheel未有conda的依赖处理能力,wheels只可以跟踪python代码的依赖关系,conda能够跟踪很多c代码的借助关系,那为广大用numpy和scipy做科学总计优化的地文学家省了重重心。

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

$ pip download Django

clipboard.png

误解 #七: 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

误解 #捌: Conda 软件包自身都以闭源的啊?

事实:
就算conda暗中认可渠道未有完全开源,不过有四个社区为首的conda-forge,它会有助于conda的包和发行版完全开源。

陆、使用 help 命令查看pip的援手手册

$ pip help

也得以访问官方的站点:

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

clipboard.png

误解 #九: 不过,假诺Continuum Analytics集团关门,conda就不会存活了吧 ?

真相: conda未有和Continuum
Analytics公司有无数牵连;集团为社区免费提供协理服务,全数软件都有官员,而不是店铺全权负责。

二、 配置文件

pip允许你在正规的ini配置文件中设置富有命令选项的默许,配置文件的称号和途径,在差异的平台并差异,你只怕有针对性系统的、用户的以及虚拟环境的铺排。

误解 #十: 各类人都应有抛开(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命令的逾期时间到十s,别的的指令的晚点时间为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.

网站地图xml地图