Dog*_*her 7 python packaging distutils python-2.7
应该怎样的应用程序开发人员到位setup.py和requirements.txt?一个应用程序甚至应该有一个setup.py?
该文档似乎只覆盖写的场景模块。但是在一个应用程序中,包和模块依赖应该如何编码?同时使用 setup.py 和 requirements.txt?
我收到了一个带有一些可疑编码的 2.7.8 项目,我不确定这setup.py是否合理。我对样板代码的数量感到惊讶:
#!/usr/bin/env python
from setuptools import setup, find_packages
import sys
if sys.argv[1] == 'test':
import multiprocessing, logging
from billiard import util
with open('requirements.txt') as f:
required = f.read().splitlines()
if sys.version_info < (2, 7, 0):
required.append('importlib')
setup(
version='0.1',
name='...',
description='...',
author='...',
author_email='...',
packages=find_packages(),
package_data={},
install_requires=required,
include_package_data=True,
tests_require=[
'billiard',
'nose==1.3'
],
test_suite='nose.collector'
)
Run Code Online (Sandbox Code Playgroud)
我是 Python 新手,但我看到了一些潜在的问题:
nosetests命令。install_requires取决于内容requirements.txt。但是 afaik 它应该是相反的:requirements.txt需要根据install_requires部分生成。不相关的版本号,需要手动更新。
setup.py仅当您的应用程序/部署需要时,版本号才重要。
“测试”导入与项目无关(“多处理”)。
在这种情况下,您可能需要删除它 - 它可能是过时的代码。
我们不通过执行 setup.py 来运行测试;我们执行nosetests命令。
我必须查找它,但一些测试框架用于setup.py将项目安装在单独的环境中(例如tox在各种 Python 解释器中测试项目)。
这取决于requirements.txt的内容,但据我所知应该是相反的:requirements.txt需要根据setup.py中的install_requires部分生成
Python 社区的使用情况各requirements.txt不相同。setup.py到目前为止,setup.py需要了解安装项目时的要求,但是当要部署您的应用程序时,您可以不使用文件setup.py而只使用requirements.txt文件。
没有 install_requires。
这可能是一个问题,具体取决于您是否实际用于setup.py安装依赖项(如上所述,完全可以在没有setup.py文件的情况下开发和部署应用程序)。
它似乎在检查应用程序未编码支持的 python 版本。
那么您可能需要将其删除。
| 归档时间: |
|
| 查看次数: |
1918 次 |
| 最近记录: |