Python 安装包setuptools

2023-01-31 03:01:33 python setuptools 安装包

python包的一般安装方法

    1、下载包

    2、Python setup.py build  #可能不需要 

    3、python setup.py install 


Python安装包的命令有的easy_install, setuptools, 也有pip,distribute

distribute是setuptools的取代,pip是easy_install的取代。


setuptools

setuptools管理Python的第三方包,将包安装到site-package下,安装的包后缀一般为.egg,实际为ZIP格式。默认从 Http://pypi.python.org/pypi 下载包,能够解决Python包的依赖关系。

Setuptools是Python Distutils的加强版,使开发者构建和发布Python包更加容易,特别是当包依赖于其他包时。用setuptools构建和发布的包与用Distutils发布的包是类似的


Distribute是对标准库disutils模块的增强,disutils主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包。

Distribute被创建是因为Setuptools包不再维护了。

Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。



easy_install 和 pip的介绍:

easy_install和pip都是用来下载安装Python一个公共资源库PyPI 的相关资源包的,pip是easy_install的改进版,提供更好的提示信 息,删除package等功能。老版本的python中只有easy_install, 没有pip。



easy_install 打包和发布 Python 包


# easy_install PACKAGE          # 普通安装

# easy_install /home/yeolar/pkg/PACKAGE.egg # 从本地或网络文件系统中安装

# easy_install http://trac-hacks.org/svn/iniadminplugin/0.11/ # 从指定的下载路径安装

# easy_install http://pypi.python.org/simple/PACKAGE/PACKAGE-0.1.2.4.tar.gz # 从URL源码包安装,条件是PACKAGE-0.1.2.4.tar.gz包中的根目录中必须包括setup.py文件

# easy_install -f http://pypi.python.org/simple/ PACKAGE # 从WEB上面搜索包,并自动安装

# easy_install PACKAGE==0.1.2.1 # 指定包的版本,如果指定的版本高于现已安装的版本就是升级了


# easy_install -U PACKAGE       # 升级到最新版本,不指定版本就会升级到最新版本

# easy_install -U PACKAGE==0.1.2.2 # 升级到指定版本

# easy_install -m PACKAGE       # 卸载包,卸载后还要手动删除遗留文件



pip 是包管理


easy_install的用法:


安装一个包

easy_install 包名

easy_install "包名 == 包的版本号"


升级一个包

easy_install -U "包名 >= 包的版本号"



pip 的用法


安装一个包

pip install 包名

pip install 包名 == 包的版本号  (通过使用==, >=, <=, >, <来指定一个版本号。)

pip install 'markdown<2.0'



升级一个包 (如果不提供version号,升级到最新版本)


pip install --upgrade 包名 >= 包的版本号


删除一个包

pip uninstall  包名


列出安装的packages

$ pip freeze


查询包

pip search 包名


pip 指定安装源


pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple


virtualenv

virtualenv是一个Python环境配置和切换的工具,可以用它配置多个Python运行环境,和系统中的Python环境隔离,即所谓的沙盒。沙盒的好处包括:


解决库之间的版本依赖,比如同一系统上不同应用依赖同一个库的不同版本。

解决权限限制,比如你没有 root 权限。

尝试新的工具,而不用担心污染系统环境。

$ virtualenv py-for-web

这样就创建了一个名为py-for-web的Python虚拟环境,实际上就是将Python环境克隆了一份。然后可以用source py-for-web/bin/activate 命令来更新终端配置,修改环境变量。接下来的操作就只对py-for-web环境产生影响了,可以使用 pip 命令在这里安装包,当然也可以直接安装。


$ source py-for-web/bin/activate    # 启用虚拟环境

$ deactivate                        # 退出虚拟环境

有个virtualenv-sh包,对virtualenv做了一些终端命令的增强。安装之后,在~/.bashrc中添加配置:


. /usr/local/bin/virtualenv-sh.bash

它提供的几个常用的命令如:


mkvirtualenv <env_name>     在$WORKON_HOME创建虚拟环境

rmvirtualenv <env_name>     删除虚拟环境

workon [<env_name>]         切换到虚拟环境

deactivate                  退出虚拟环境

lsvirtualenvs               列出全部的虚拟环境

cdvirtualenv [subdir]       进入虚拟环境的相应目录

$WORKON_HOME 的默认值为 ${HOME}/.virtualenvs 。


相关文章