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

#1般设置python三.5之上会叠加安装了包管理工具setuptools和pip

一、常用命令

pip 是首要选用的Python包管理工科具,首要用来安装 PyPI
上托管的软件包(第一方库、应用、框架等),用于代替老版的 easy_install
工具。在Python三的支付中应该尽量采纳pip,不要一而再应用 easy_install。
从 Python 三.肆 起初,Python暗中同意内置了pip (import
pip)。,可是你能够实施上面包车型大巴吩咐升级pip:

$ pip install -U pip

python基础环境搭建

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

一.Python的设置就早已自带了Python解释器,默许是CPython。

二.当我们必要选取第二方库的时候,我们须要使用到的包管理工科具。

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

四.当我们要把温馨的顺序打包成exe时,则必要Python打包软件。

 壹. Python包管理工科具

在装置Python包的进程中,平常涉及到distutils、setuptools、distribute、setup.py、easy_install、easy_install和pip等等。突然对Python的包管理混乱了,这个工具关系是哪些,应该怎么去挑选使用?

下边就回顾介绍下Python包管理有关的局地剧情。

二、安装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 命令安装包:

1.Python的装置不必细说

1.1 distutils

distutils 是 python
标准库的一局地,那个库的指标是为开发者提供一种有益的打包方式,
同时为使用者提供方便的装置格局。我们常常使用的setup.py正是基于distutils落成的,然后经过setup.py就足以开始展览打包或许安装了。

看3个简约的例证,找几个目录创制八个公文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 )

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

金沙注册送58 1

会创设dist文件和二个foo-1.0.zip压缩文件,使用者就足以解压缩这些包,然后实施python 
setup.py install进行安装,然后就足以采用那几个foo模块了。

金沙注册送58 2

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

三、pip安装使用

(壹)下载源码安装

软件包下载地址: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

贰.包管理工科具

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

1.2 setuptools 和 distribute

setuptools 是对 distutils
的进步,越发是引进了包倚重管理。我们得以经过ez_setup.py来安装setuptools。

至于distribute,它是setuptools的2个分段版本。分支的原委是有壹些开发者认为
setuptools 开发太慢。但未来,distribute 又统3次了 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则是设置发行的第2方库

1.3 easy_install

首先,不推荐使用,因为只好设置不能够卸载

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

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

二) 下载3个包安装:通过 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个工具,方便了包的设置和升级

1.2 安装 wheel 包

wheel本质上是三个 zip 包格式,用于 python 模块的安装,它的出现是为了替代
老版本的Eggs。pip也得以直接设置wheel包。假若宣布模块,推荐使用 wheel
格式。

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

clipboard.png

金沙注册送58,2.setuptools(distribute)

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

有关distribute,它是setuptools的三个支行版本。分支的原由是有一对开发者认为
setuptools 开发太慢。但先天,distribute 又统三遍了 setuptools
中,所以能够认为它们是同3个事物。

前边看到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\时下用户名\pip\pip.ini(未有pip.ini就创办1个)

国内的能够配备成浙大的镜像源,配置为:

[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上设置贰个包:当使用 easy_install package 命令后,easy_install
能够活动从 PyPI 上下载相关的包,并形成安装,升级。

下载多个包安装:通过 easy_install package.tgz
命令能够安装二个已经下载的包

安装egg文件:通过 easy_install package.egg 可以安装3个egg格式的文本

依照地点的辨析,能够见见setuptools/distribute和easy_install之间的涉嫌:

setuptools/distribute 都扩张了 distutils,提供了越来越多的成效

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

6)pip代理设置

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

1.四 从服务器托管的包中安装

$ 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是1个用来科学总计的Python发行版,补助Linux, Mac, Windows系统,拥有多量的用来科学总括的第1方库;

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

anaconda化解了Python开发者的两大痛点:

壹)提供包管理,成效类似于 pip,Windows
平台安装第贰方包平常失败的气象得以化解。

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

安装时,会意识有三个分化版本的Anaconda,分别对应Python 贰.7和Python
三.5,七个版本其实除了那一点分别外其他都无差异。后边大家会看到,安装哪个版本并不本质,因为通过环境管理,大家得以很有益地切换运维时的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信息

五)修改镜像源

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举行设置

二. 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)是赢得第1方 Python
软件包以填补标准库的三个站点。

2.壹 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效果如下:

金沙注册送58 3

2)pycharm

分外简单

金沙注册送58 4

设置条件名字,存放的职位以及环境设置的python版本

金沙注册送58 5

一.伍 升级软件包

pip在晋级软件包此前会自动卸载旧的软件包

$ pip install -U|--upgrade SomePackage

clipboard.png

3.Python环境管理

Python自身有无数个版本,第2方的Python包又有众多可用的本子,所以不时会遭遇上面包车型的士标题:

一.运作分裂的Python程序,必要利用不一样版本的Python(二.x或三.x).

二.在平等中Python版本中,可能须求选取不相同版本的第三方包,例如:Django
壹.6也许Django 一.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),可以一向在指令行中使用

一般的pythonic应该都会有Python2和Python三,所以最棒就用自带的py.exe当然最棒啊。

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

二〇一二年发表的跨平台包管理软件conda,是在数额分析界和Numpy和Scipy一样受欢迎的python工具。可是一般程序员日常只是会使用conda安装一些第2方包,
对它从哪儿来,它是如何,和它要到哪个地方去所知甚少。明天我们就要讲一下有关conda和anaconda不可不知的误会和真情——conda必知必会的那一个事实。

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

$ pip freeze 

clipboard.png

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

简单易行的说,虚拟环境切换工具就是能够遵照当下采用的Python版本环境来创制八个虚拟的Python环境。这几个虚构的环境之间相互独立,可以设置各样环境所需的Python包。

irtualenv

日前最盛行的 python 虚拟环境计划工具

virtualenvwrapper

应用shell开发,是对virtualenv的一个封装,简化了virtualenv命令的利用,并且举办了一些作用扩充

virtualenvwrapper-win

使用Windows batch shell开发的virtualenvwrapper

venv

Python 三.3 版本之后自带的虚拟环境工具,仅补助 python 三.三 和后来版本

以此自家还不曾用,但本人觉着这么些工具12分好,那样本人的逐一分裂的Python项目标库终于得以泾渭显著了,而不是多个大杂烩。

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

实际:
Conda是八个包管理器;Anaconda才是2个python发行版。纵然conda是用Anaconda打包的,然而它们多个的目的是一点一滴分裂的。

软件发行版是在系统上提前编写翻译和配置好的软件包集合,
装好了后就能够一直用。包管理器是自动化软件设置,更新,卸载的①种工具。Conda,有指令”conda
install”, “conda update”, “conda remove”, 所以很分明, conda是包管理器。

再来说说, Anaconda 和 Miniconda.
Anaconda发行版会预装很多pydata生态圈里的软件,而Miniconda是细微的conda安装环境,
三个彻底的conda环境。

不过,conda和Anaconda未有一定关联, 你能够不安装Anaconda的还要,
使用conda安装和管理软件。

二.二 使用 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是3个python包管理器

谜底:Conda是1个通用的包管理器,当初统一筹划来管理任何语言的包。所以用来治本python包当然也是绰绰有余。

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

这句发号施令能够帮您找出不是
pip和virtualenv能够管理的python包,而conda能够管理

翻开哪些软件供给立异(列出过时的包):

$ pip list -o|--outdated

clipboard.png

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

事实:Conda pip
对象并分裂,唯有小部分子集有混合有竞争关系:比如python包的装置和环境隔断。 

一句话就足以看出分歧:

pip能够允许你在任何环境中设置python包,而conda允许你在conda环境中安装其余语言包(包罗c语言大概python)。

若是大家只是关切python包安装,conda和pip也是为分歧用户和不一样对象定制的。即便您想在二个已有种类赶快管理python包,那你应当采纳pip,因为conda应该在conda环境中行使,而pip鼓励在其他环境中动用
。而假使,你想要让不少凭借库1起很好地劳作(比如数据解析中的Numpy,scipy,Matplotlib等等)那您就应当利用conda,conda很好地组合了包里面包车型大巴交互正视。

二.三 使用 show 命令查看安装的包的详细消息:

$ pip show SomePackage

clipboard.png

误解 #4: 使用conda首先是不负权利并且会滋生冲突的

实际:Conda我多年来用python标准创设conda,只有在这一个明晰合理的时候,才使用其它工具。

你只怕会问,作者深信不疑conda是比照python标准的,不过它们为什么偏偏要撇开pip本人去造一套包管理器呢?为何他们不直接去pip团队贡献想法啊?

实在,1早先conda那伙人是想在pip社区进献想法和代码的,不过像numpy,scipy那样对底层c库有复杂依赖的包管理须求,真的不多,所以社区不收受那样的不常有的需求。所以,他们只好协调去造conda包管理器了。

查看安装包的现实性安装文件

$ pip show -f|--files SomePackage

clipboard.png

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

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

$ pip uninstall Django

clipboard.png

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

误解 #⑥: 今后pip用wheels了,conda没怎么用了

实际情形:wheels只是缓解了conda试图克服的很多困难中的3个,
conda二进制编排照旧有众多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吧,那是完全开源的。

伍、使用 search 命令在PyPI仓库中找找软件包

$ pip search Django

clipboard.png

误解 #8: 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
环境变量的值。有1个早些版本采纳的岗位:$HOME/.pip/pip.conf,也是能够运用的。

您也足以在环境变量 PIP_CONFIG_FILE 中自定义3个路线。

本着虚拟环境:

在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

1致的,你也足以在shell中一向动用eval函数和completion命令:

$ eval "`pip completion --bash`"

更加多的铺排参数可以参考官方文档:
https://pip.pypa.

相关文章

网站地图xml地图