Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python setup.py--私人/商业项目的配置_Python_Python Packaging - Fatal编程技术网

Python setup.py--私人/商业项目的配置

Python setup.py--私人/商业项目的配置,python,python-packaging,Python,Python Packaging,我可以在setup.py项目配置文件中添加什么内容来告诉开发人员该项目是一个私有/商业应用程序/库 目前我设置: setup( name='MyProject', version='0.1.0', license='(c) My Company', ... ) 有什么最佳做法吗 注意: 现在,大多数项目都是开源的,并且遵循许可证模式。然而,当你在这个行业工作时,软件是私有的。我的公司与离岸公司合作,这些公司可能不知道软件可以是私有的。因此,我想通过在setup.

我可以在
setup.py
项目配置文件中添加什么内容来告诉开发人员该项目是一个私有/商业应用程序/库

目前我设置:

setup(
    name='MyProject',
    version='0.1.0',
    license='(c) My Company',
    ...
)
有什么最佳做法吗

注意:

现在,大多数项目都是开源的,并且遵循许可证模式。然而,当你在这个行业工作时,软件是私有的。我的公司与离岸公司合作,这些公司可能不知道软件可以是私有的。因此,我想通过在
setup.py
文件中指定这一点来引起他们的注意。这就是为什么我要寻找关于这方面的最佳实践

结论/解决方案

对于私有/专有应用程序,我将遵循以下步骤:

  • 将许可证属性设置为“专有”
  • 添加分类器“许可证::其他/专有许可证”
  • 还可以添加一个
    许可证
    文件
模板将类似于:

setup(
    name='MyProject',
    version='0.1.0',
    license="Proprietary",
    classifiers=[
        'License :: Other/Proprietary License',
        ...
    ],
    ...
)

另一种选择是设置“非开源”,就像模板中定义的那样。

从技术上讲,授权开源软件和专有软件之间没有根本区别

在这两种情况下,您都应该包含一个
许可证
文件,指定您的软件可以做什么和不能做什么(请参阅)。还建议为项目中的每个代码文件添加一个简短的版权/许可证标题(以防它们被复制到原始软件包文件夹之外)


可以在
setup.py
中提及许可证类型,但是该字段主要用于显示上载到的Python包的许可证。由于您的代码不是开源的(并且不会上载到PyPi),因此这与您的情况不太相关。

如果您担心人们会错误地将您的包上载到PyPi,那么这些技巧可能会有所帮助。

您所需的配置设置的目的是什么?你所说的“告诉开发人员该项目是一个私有/商业应用程序/库”是什么意思?你希望这样做能达到什么目的?@polo:我已经编辑了我的问题,在一个注释中解释了这一点。你能解释一下你希望你的开发者如何与这个配置“互动”吗?他们是否会积极寻找(如果是,何时以及如何寻找)?此配置设置是否是您希望在某个自动化流程中使用的设置(如果是,将使用什么自动化流程以及如何使用)?同意。我们的库没有上传到PyPi。然而,它们被上传到私有的DevPi服务器,该服务器也是官方PyPi的代理。因此,我们可以在DevPi中找到开源项目。我们的(小型)用户社区必须在DevPi中查看许可条款。只需在
setup.py
中放入
license=“propertial”
“propertial and secretive”
,然后在
license
文件和文件头中描述详细信息,就可以了(参见示例)。对不起,我对这个功能不感兴趣。