什么是setup.py,如何配置或使用它?


当前回答

要安装已下载的Python包,请提取存档并在其中运行setup.py脚本:

python setup.py install

对我来说,这总是感觉很奇怪。像Ruby和Nodejs中那样,在下载时指向包管理器会更自然,例如geminstallrails-4.1.1.gem

包管理器也更舒适,因为它既熟悉又可靠。另一方面,每个setup.py都很新颖,因为它是特定于包的。它要求人们相信惯例“我相信这个setup.py使用的命令与我过去使用过的其他命令相同”。这对精神意志力是一种令人遗憾的负担。

我并不是说setup.py工作流不如包管理器安全(我理解Pip只是在里面运行setup.py),但我肯定觉得这是一个令人震惊的问题。所有命令都指向同一个包管理器应用程序,这是一种和谐。你甚至可能会喜欢它。

其他回答

setup.py是一个Python脚本,通常随库或程序一起提供,用该语言编写。其目的是正确安装软件。

许多软件包结合setup.py使用distutils框架。

http://docs.python.org/distutils/

当您下载带有setup.py的软件包时,请打开终端(Mac、Linux)或命令提示符(Windows)。使用cd并帮助您使用Tab按钮,将路径设置为您下载文件的文件夹和setup.py所在的文件夹:

iMac:~ user $ cd path/pakagefolderwithsetupfile/

按回车键,您将看到如下内容:

iMac:pakagefolderwithsetupfile user$

然后在python setup.py安装之后键入:

iMac:pakagefolderwithsetupfile user$ python setup.py install

按enter键。完成!

要安装已下载的Python包,请提取存档并在其中运行setup.py脚本:

python setup.py install

对我来说,这总是感觉很奇怪。像Ruby和Nodejs中那样,在下载时指向包管理器会更自然,例如geminstallrails-4.1.1.gem

包管理器也更舒适,因为它既熟悉又可靠。另一方面,每个setup.py都很新颖,因为它是特定于包的。它要求人们相信惯例“我相信这个setup.py使用的命令与我过去使用过的其他命令相同”。这对精神意志力是一种令人遗憾的负担。

我并不是说setup.py工作流不如包管理器安全(我理解Pip只是在里面运行setup.py),但我肯定觉得这是一个令人震惊的问题。所有命令都指向同一个包管理器应用程序,这是一种和谐。你甚至可能会喜欢它。

若您下载的包在根文件夹中有“setup.py”,您可以通过运行

python setup.py install

如果您正在开发一个项目,并且想知道该文件对什么有用,请查看Python文档中有关编写安装脚本的内容

setup.py可以在两种情况下使用,首先,您需要安装Python包。其次,您希望创建自己的Python包。通常,标准Python包有几个重要的文件,如setup.py、setup.cfg和Manifest.in。当您创建Python包时,这三个文件将确定(PKG-INFO中egg-INFO文件夹下的内容)名称、版本、描述、其他所需安装(通常在.txt文件中)和其他一些参数。setup.py在创建包时读取setup.cfg(可以是tar.gz)。Manifest.in是您可以定义包中应包含的内容的地方。无论如何,你可以用setup.py做很多事情,比如

python setup.py build
python setup.py install
python setup.py sdist <distname> upload [-r urltorepo]  (to upload package to pypi or local repo)

有很多其他命令可以与setup.py一起使用

python setup.py --help-commands