首页 > Python > 什么是setup.py以及如何配置或使用它?setup.py

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

上一篇 下一篇

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

分割线

网友回答:

它有助于在您的机器上安装 python 包(也可以在 中),以便您可以从其他项目以及 [I]Python 提示符导入包。foovirtualenvfoo

它做着类似于easy_install等的工作,


使用 setup.py

让我们从一些定义开始:

– 包含文件的文件夹/目录。
模块 – 带有扩展名的有效 python 文件。
分发 – 一个包与其他模块的关系。
__init__.py.py

假设您要安装一个名为 的软件包。然后你做,foo

$ git clone https://github.com/user/foo
$ cd foo
$ python setup.py install

相反,如果您不想实际安装它但仍想使用它。然后做,

$ python setup.py develop

此命令将创建指向站点包中源目录的符号链接,而不是复制内容。因此,它非常快(特别是对于大型包装)。


创建 setup.py

如果你有这样的包树,

foo
├── foo
│   ├── data_struct.py
│   ├── __init__.py
│   └── internals.py
├── README
├── requirements.txt
└── setup.py

然后,在 setup.py 脚本中执行以下操作,以便可以将其安装在某些计算机上:

from setuptools import setup

setup(
   name='foo',
   version='1.0',
   description='A useful module',
   author='Man Foo',
   author_email='foomail@foo.example',
   packages=['foo'],  #same as name
   install_requires=['wheel', 'bar', 'greek'], #external packages as dependencies
)

相反,如果您的包树更复杂,如下所示:

foo
├── foo
│   ├── data_struct.py
│   ├── __init__.py
│   └── internals.py
├── README
├── requirements.txt
├── scripts
│   ├── cool
│   └── skype
└── setup.py

然后,在这种情况下,您的 setup.py 如下所示:

from setuptools import setup

setup(
   name='foo',
   version='1.0',
   description='A useful module',
   author='Man Foo',
   author_email='foomail@foo.example',
   packages=['foo'],  #same as name
   install_requires=['wheel', 'bar', 'greek'], #external packages as dependencies
   scripts=[
            'scripts/cool',
            'scripts/skype',
           ]
)

添加更多内容(setup.py并使其体面:

from setuptools import setup

with open("README", 'r') as f:
    long_description = f.read()

setup(
   name='foo',
   version='1.0',
   description='A useful module',
   license="MIT",
   long_description=long_description,
   author='Man Foo',
   author_email='foomail@foo.example',
   url="http://www.foopackage.example/",
   packages=['foo'],  #same as name
   install_requires=['wheel', 'bar', 'greek'], #external packages as dependencies
   scripts=[
            'scripts/cool',
            'scripts/skype',
           ]
)

在 pypi.org 中用作包的自述文件说明。long_description


最后,您现在可以将软件包上载到 PyPi.org 以便其他人可以使用 安装您的软件包。pip install yourpackage

此时有两种选择。

  • 临时 test.pypi.org 服务器中发布以使自己熟悉该过程,然后将其发布在永久 pypi.org 服务器上,供公众使用您的包。
  • 如果您已经熟悉该过程并拥有您的用户凭据(例如,用户名、密码、软件包名称),请立即在永久 pypi.org 服务器上发布

一旦您的软件包名称在 pypi.org 中注册,任何人都不能声明或使用它。Python 打包建议使用 twine 包来上传(将你的包上传到 PyPi)。因此

  1. 第一步是使用以下方法在本地构建发行版:
    # prereq: wheel (pip install wheel)
    $ python setup.py sdist bdist_wheel
    
  2. 然后用于上传到 或 :twinetest.pypi.orgpypi.org
    $ twine upload --repository testpypi dist/*
    username: ***
    password: ***
    

包需要几分钟时间才能显示在 上。一旦你对它感到满意,你就可以简单地将你的包上传到 pypi.org 的真实和永久索引:test.pypi.org

$ twine upload dist/*

(可选)还可以通过以下方式对包中的文件进行签名:GPG

$ twine upload dist/* --sign

额外阅读

  • 在此处查看真实项目的示例 setup.pytorchvision-setup.py
  • PEP 517, 设置工具
  • 为什么是麻线?使用麻线

分割线

网友回答:

setup.py是一个 python 文件,它的存在表明您将要安装的模块/包可能已与 Distutils 一起打包和分发,这是分发 Python 模块的标准。

这使您可以轻松安装Python包。通常写就足够了:

$ pip install . 

pip将用于安装模块。避免直接呼叫。setup.pysetup.py

https://docs.python.org/3/installing/index.html#installing-index

分割线

网友回答:

setup.py是 Python 对多平台安装程序和文件的回答。make

如果您熟悉命令行安装,则转换为 .make && make installpython setup.py build && python setup.py install

有些包是纯 Python,并且只是字节编译的。其他可能包含本机代码,这将需要本机编译器(如或)和Python接口模块(如或)。gccclswigpyrex

模板简介:该模板名称为【什么是setup.py以及如何配置或使用它?setup.py】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 263次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 03-05
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
自适应 响应式 单页式简历模板 html5 微信文章 微信公众平台 微信模板 企业网站 微信图片 微信素材
您可能会喜欢的其他模板