当前位置:天才代写 > tutorial > Python教程 > Python包(模块)打点详解

Python包(模块)打点详解

2017-11-02 08:00 星期四 所属: Python教程 浏览:41

Python包揽理差异方法的区别

进修Python已经有一段时间,常常会碰着安装各类包的问题,一会 setup.py, 一会 easy_install,一会又是pip,尚有一些观念好比distutils, setuptools等等,搞不清楚谁是谁,什么时候应该用什么,本日就把这些观念 澄清一下。

distutils

distutils是Python尺度库的一部门,其初志是为开拓者提供一种利便的打包方法, 同时为利用者提供利便的安装方法。

譬喻你建设了一个名为foo的包,包括一个foo.py文件,你想把它打包以便其它人利用。 这时候你需要写一个setup.py文件:

from distutils.core import setup

setup(name='foo',

version='1.0',

py_modules=['foo'],

)

然后运行呼吁

$python setup.py sdist

然后你发明当前目次下呈现一个名为dist的文件夹,内里有一个foo-1.0.tar.gz的包。 这个包里有三个文件,foo.py, setup.py, PKG-INFO,前两个文件和我们之前提到的两个文件一样。 PKG-INFO是关于包的一些信息。然后你就可以把foo-1.0.tar.gz给别人安装了。

安装者要利用这个包时,只需要解压这个foo-1.0.tar.gz文件,再运行呼吁

$python setup install

这个包就会被自动安装到系统符合的位置。

setuptools

setuptools 是对 distutils 的加强, 尤其是引入了包依赖打点。

setuptools可觉得Python包建设 egg文件, Python 与 egg 文件的干系,相当于java与jar包的干系。

setuptools 提供的 easy_install 剧本可以用来安装 egg包。 别的, easy_install 可以自动从 PyPI 上下载相关的包,并完成安装,进级。

easy_install 提供了多种安装,进级Python包的方法,譬喻:

easy_install SQLObject

easy_install -f http://pythonpaste.org/package_index.html SQLObject

easy_install http://example.com/path/to/MyPackage-1.2.3.tgz

easy_install /my_downloads/OtherPackage-3.2.1-py2.3.egg

easy_install –upgrade PyProtocols

厥后开拓者们以为 setuptools 开拓的太慢了,fork出了 Distribute 项目,然后2013年8月, Distribute 又归并回 setuptools 0.7。

pip

pip 是安装,打点Python包的东西。它是对 easy_install 的一种加强。 同样可以从 PyPI 上自动下载,安装包。

在pip中,

安装前所有需要的包都要先下载,所以不会呈现安装了一部门,另一部门没安装的环境

所有安装的包会被跟踪,所以你可以知道为什么他们被安装,同时可以卸载。

无需利用 egg 文件。

利用方法简朴:

pip install pkg_name

pip uninstall pkg_name

 

    关键字:


天才代写-代写联系方式