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
文件和文件头中描述详细信息,就可以了(参见示例)。对不起,我对这个功能不感兴趣。