python基础情形搭建,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.

本文由pc28.am发布于计算机编程,转载请注明出处:python基础情形搭建,Python包管理工科具和多版本

上一篇:NET六大剑客,值类型和引用类型 下一篇:没有了
猜你喜欢
热门排行
精彩图文