什么是setup.py,如何配置或使用它?
当前回答
setup.py是一个python文件,它的存在表明您要安装的模块/包可能已经用Distutils打包和分发,Distutils是分发python模块的标准。
这允许您轻松安装Python包。通常,写下以下内容就足够了:
$ pip install .
pip将使用setup.py安装模块。避免直接调用setup.py。
https://docs.python.org/3/installing/index.html#installing-索引
其他回答
setup.py是Python对多平台安装程序和make文件的回答。
如果您熟悉命令行安装,那么make&&makeinstall将转换为python setup.py build&&python setup.py install。
有些包是纯Python的,并且只进行字节编译。其他可能包含本机代码,这将需要本机编译器(如gcc或cl)和Python接口模块(如swig或pyrex)。
setup.py是一个python文件,它的存在表明您要安装的模块/包可能已经用Distutils打包和分发,Distutils是分发python模块的标准。
这允许您轻松安装Python包。通常,写下以下内容就足够了:
$ pip install .
pip将使用setup.py安装模块。避免直接调用setup.py。
https://docs.python.org/3/installing/index.html#installing-索引
setup.py与其他任何文件一样是一个Python文件。它可以使用任何名称,但按照惯例,它被命名为setup.py,因此每个脚本都没有不同的过程。
最常见的setup.py用于安装Python模块,但用于服务器其他目的:
模块:
也许这是setup.py在模块中最著名的用法。尽管可以使用pip安装它们,但旧的Python版本在默认情况下不包含pip,它们需要单独安装。
如果您想安装模块,但不想安装pip,那么几乎唯一的选择就是从setup.py文件安装模块。这可以通过python setup.py安装实现。这将把Python模块安装到根字典中(没有pip、easy_install等)。
当pip失败时,通常使用此方法。例如,如果所需包的正确Python版本无法通过pip获得,可能是因为它不再被维护,那么下载源代码并运行Python setup.py安装将执行相同的操作,除非需要编译二进制文件(但将忽略Python版本-除非返回错误)。
setup.py的另一个用途是从源代码安装软件包。如果模块仍在开发中,车轮文件将不可用,唯一的安装方法是直接从源代码安装。
构建Python扩展:
构建模块后,可以使用distutils设置脚本将其转换为可供分发的模块。一旦构建完成,就可以使用上面的命令安装它们。
安装脚本很容易构建,一旦正确配置了文件,就可以通过运行pythonsetup.pybuild来编译(请参阅所有命令的链接)。
为了便于使用和惯例,它再次命名为setup.py,但可以使用任何名称。
赛龙:
setup.py文件的另一个著名用法包括编译的扩展名。这需要具有用户定义值的设置脚本。它们允许快速(但一旦编译就依赖于平台)执行。以下是文档中的一个简单示例:
from distutils.core import setup
from Cython.Build import cythonize
setup(
name = 'Hello world app',
ext_modules = cythonize("hello.pyx"),
)
这可以通过python setup.py build编译
Cx_冻结:
另一个需要安装脚本的模块是cx_Freeze。这将Python脚本转换为可执行文件。这允许许多命令(如描述、名称、图标、包)包含、排除等,一旦运行就会产生一个可分发的应用程序。文档中的示例:
import sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup( name = "guifoo",
version = "0.1",
description = "My GUI application!",
options = {"build_exe": build_exe_options},
executables = [Executable("guifoo.py", base=base)])
这可以通过python setup.py build进行编译。
那么什么是setup.py文件?
很简单,它是一个在Python环境中构建或配置内容的脚本。
一个包在分发时应该只包含一个安装脚本,但将多个脚本组合成一个安装程序脚本并不罕见。请注意,这通常涉及distutils,但并不总是如此(如我在上一个示例中所示)。需要记住的是,它只是以某种方式配置Python包/脚本。
它采用该名称,因此在构建或安装时始终可以使用相同的命令。
若您下载的包在根文件夹中有“setup.py”,您可以通过运行
python setup.py install
如果您正在开发一个项目,并且想知道该文件对什么有用,请查看Python文档中有关编写安装脚本的内容
setup.py是一个Python脚本,通常随库或程序一起提供,用该语言编写。其目的是正确安装软件。
许多软件包结合setup.py使用distutils框架。
http://docs.python.org/distutils/
推荐文章
- Python glob多个文件类型
- 如何可靠地打开与当前运行脚本在同一目录下的文件
- Python csv字符串到数组
- 如何在Python中进行热编码?
- 如何嵌入HTML到IPython输出?
- 在Python生成器上使用“send”函数的目的是什么?
- 是否可以将已编译的.pyc文件反编译为.py文件?
- Django模型表单对象的自动创建日期
- 在Python中包装长行
- 如何计算两个时间串之间的时间间隔
- 我如何才能找到一个Python函数的参数的数量?
- 您可以使用生成器函数来做什么?
- 将Python诗歌与Docker集成
- 提取和保存视频帧
- 使用请求包时出现SSL InsecurePlatform错误