python基础条件搭建,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三.5上述会增大安装了包管理工科具setuptools和pip

一、常用命令

pip 是首要选拔的Python包管理工具,主要用以安装 PyPI
上托管的软件包(第1方库、应用、框架等),用于代替老版的 easy_install
工具。在Python三的支出中应当尽恐怕接纳pip,不要继续运用 easy_install。
从 Python 三.肆 发轫,Python私下认可内置了pip (import
pip)。,可是你能够实施上边包车型大巴指令升级pip:

$ pip install -U pip

python基础条件搭建

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

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

2.当咱们须要利用第壹方库的时候,大家须要选取到的包管理工科具。

python基础条件搭建,Python包管理工科具和多版本环境管理。三.当我们的电脑有二种Python版本,并且在种种Python版本都要求有虚拟环境时,那亟需有环境管理。

四.当大家要把自个儿的先后打包成exe时,则必要Python打包软件。

 一. 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就足以开始展览打包大概安装了。

看1个大概的事例,找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 )

接下来,在该目录中运作如下命令:

美高梅开户网址 1

会成立dist文件和三个foo-1.0.zip压缩文件,使用者就足以解压缩这些包,然后实施python 
setup.py install进行安装,然后就足以接纳那一个foo模块了。

美高梅开户网址 2

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

3、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
    7及更加高版本中,该文件被埋伏,但能够在这里写入 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

#其他的源

阿里云 
中国科技(science and technology)高校 
豆瓣 
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 又统1遍了 setuptools
中,所以能够认为它们是同3个东西。

近日看到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则是安装发行的第3方库

1.3 easy_install

第三,不推荐应用,因为只好设置无法卸载

当安装好setuptools/distribute之后,我们就能够直接行使easy_install这些工具了:

一) 从PyPI上安装2个包:当使用 easy_install
package 命令后,easy_install 能够自行从 PyPI
上下载相关的包,并形成安装,升级

2) 下载一个包安装:通过 easy_install
package.tgz 命令能够设置3个1度下载的包

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

依照上面包车型大巴分析,能够看出setuptools/distribute和easy_install之间的涉嫌:

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

b)easy_install是依照setuptools/distribute的三个工具,方便了包的装置和升高

1.2 安装 wheel 包

wheel本质上是3个 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    #从网上某个链接安装

还有1个依据重视文件安装:

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命令进行查询,会列出相关的包

伍)配置镜像源

pip的镜像地址暗许在外国,速度相比较慢,能够设置为国内镜像源

a)linux

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

b)windows

C:\Users\脚下用户名\pip\pip.ini(未有pip.ini就创办2个)

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

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

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

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

基于上面包车型大巴剖析,能够看看setuptools/distribute和easy_install之间的关联:

setuptools/distribute 都增加了 distutils,提供了更加多的功力

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

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 有好多不足:安装工作是非原子操作,只协助svn,未有提供卸载命令, 安装一密密麻麻包时须求写剧本。pip
消除了上述难点,已经改成新的事实标准。

pip的选择卓殊简单,并帮衬从随机能够因而 VCS 或浏览器访问到的地点安装
Python 包:

安装:  pip install SomePackage

卸载:  pip uninstall SomePackage

 1.5 Conda包管理

提及conda,就亟须求聊起anaconda了;

Anaconda是1个用以科学计算的Python发行版,辅助Linux, Mac, Windows系统,拥有大量的用来科学总括的第三方库;

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

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

壹)提供包管理,作用看似于 pip,Windows
平台安装第1方包日常战败的景观得以解决。

二)提供虚拟环境管理,功效附近于
virtualenv,消除了多版本Python并存难点。

设置时,会发觉有多个不一样版本的Anaconda,分别对应Python 2.7和Python
叁.伍,八个本子其实除了那一点分别外别的都平等。后边大家会见到,安装哪个版本并不本质,因为通过环境管理,大家得以很有益于地切换运行时的Python版本。

经过conda –help命令查看帮忙

1)安装包

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

2)升级包

提示:pip只是1个包管理器,所以它无法为你管理环境。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
软件包以补充标准库的1个站点。

二.一 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包又有那个可用的本子,所以平时会蒙受下边包车型地铁难点:

1.运营不相同的Python程序,要求使用差异版本的Python(二.x或三.x).

2.在同等中Python版本中,恐怕须求动用分歧版本的第一方包,例如:Django
1.六要么Django 一.七

对于地点的题材,已经有不可胜举现成的个工具得以消除。根据消除地点难题的不二等秘书诀,这几个工具差不离可以分为两类:

一.Python 版本环境切换工具

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

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

2、查看安装的包

Python版本环境切换工具

Python版本环境切换工具的机能就是让四个不等版本的Python能够在系统上共存。并且提供简单的授命来支撑差异Python版本之间的切换。

pyenv

眼前最流行的 python版本环境切换工具,可是不支持Windows

pywin

Windows 上pyenv 的替代品,可是效果绝对pyenv相比少

py.exe

Python 3.三 版本之后Windows系统自带的启航工具(Python Launcher for
Windows),能够直接在命令行中使用

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

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

二〇一二年公布的跨平台包管理软件conda,是在数码分析界和Numpy和Scipy一样受欢迎的python工具。不过普通程序员日常只是会动用conda安装一些第一方包,
对它从何地来,它是怎么,和它要到哪儿去所知甚少。明天大家就要讲一下有关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 三.叁 和之后版本

本条自家还从未用,但本身认为那一个工具十三分好,那样小编的11不一致的Python项指标库终于能够泾渭显然了,而不是多个大杂烩。

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

谜底:
Conda是一个包管理器;Anaconda才是三个python发行版。纵然conda是用Anaconda打包的,可是它们多个的指标是全然两样的。

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

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

而是,conda和Anaconda未有一定关联, 你能够不安装Anaconda的同时,
使用conda安装和管理软件。

二.二 使用 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是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鼓励在其他环境中选拔。而如若,你想要让许多依靠库一起很好地劳作(比如数据解析中的Numpy,scipy,Matplotlib等等)那您就应有运用conda,conda很好地整合了包里面包车型地铁互动注重。

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

$ pip show SomePackage

clipboard.png

误解 #四: 使用conda首先是不负权利并且会挑起争论的

谜底:Conda小编多年来用python标准成立conda,只有在尤其明显合理的时候,才使用任何工具。

您恐怕会问,作者信任conda是依据python标准的,然而它们为什么偏偏要撇开pip本人去造1套包管理器呢?为何他们不直接去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

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

$ pip uninstall Django

clipboard.png

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

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

真相:wheels只是不留余地了conda试图克制的无数不便中的三个,
conda二进制编排如故有那多少个wheels未有的优势 

wheels和conda都化解了预编写翻译的代码安装难点(不仅仅是源代码安装)。不过wheel未有conda的借助处理能力,wheels只可以跟踪python代码的注重性关系,conda能够跟踪很多c代码的依靠关系,那为广大用numpy和scipy做科学计算优化的地军事学家省了广大心。

4、使用 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吧,那是一点1滴开源的。

五、使用 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
是为分歧指标存在的,大家应该越发关切怎么还要用好那多个工具,而不是只用3个

本着系统的配置文件:

在Unix平台,配置文件的岗位只怕是 /etc/pip.conf,或然它或者是环境变量
XDG_CONFIG_DIRS 中设置的门径 pip 路径的子目录 。

针对用户的铺排文件:

在Unix平台,暗许的安插文件是 $HOME/.config/pip/pip.conf
,这些途径取决于
XDG_CONFIG_HOME
环境变量的值。有2个早些版本采取的职责:$HOME/.pip/pip.conf,也是足以行使的。

您也足以在条件变量 PIP_CONFIG_FILE 中自定义1个路径。

本着虚拟环境:

在Unix平台,私下认可的安插文件是 $VIRTUAL_ENV/pip.conf

1经由pip找到五个布局文件,那么它们将按以下依次组合:

  1. 第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地图