Python-在setup.py build中包含来自项目根目录的Python脚本
我已经看过了,但我无法理解哪一个是解决方案 我正试图编写一个setup.py文件来构建代码 以下是项目的目录结构:Python-在setup.py build中包含来自项目根目录的Python脚本,python,build,setup.py,Python,Build,Setup.py,我已经看过了,但我无法理解哪一个是解决方案 我正试图编写一个setup.py文件来构建代码 以下是项目的目录结构: project | ├── setup.py | ├── MANIFEST.in | ├── package1 ├── __init__.py ├── data.py |__ file.yml └── util_folder ├── package2 ├── __init__.py ├── tool.py └── utils.
project
|
├── setup.py
|
├── MANIFEST.in
|
├── package1
├── __init__.py
├── data.py
|__ file.yml
└── util_folder
├── package2
├── __init__.py
├── tool.py
└── utils.py
|___ script1.py
|___ script2.py
下面是setup.py的主要内容
setup(
name = "MyProject",
packages=['package1','package2'],
include_package_data=True,
)
这里我的MANIFEST.in还包括package1下的util_文件夹和位于根文件夹的两个脚本
include *.py
recursive-include package1 *
但是跑完以后,
python setup.py install
在我的conda env中,script1.py和script2.py不会复制到目标,即
path/to/my/conda/env/lib/python3.7/site-packages/MyProject-1.0-py3.7.egg/
在该位置下,我只能看到package1和package2
出什么事了?在我看来,你可能应该这样做:
导入设置工具
setuptools.setup(
# ...
py_模=[
“脚本1”,
“脚本2”,
],
)
注:在这种情况下,首选的命名是模块,而不是脚本。在我看来,脚本意味着直接调用和执行,模块意味着导入。您可能需要
py_模块
或脚本
,具体取决于意图。script1
和script2
应该是可导入的还是可执行的?两个脚本都应该导入,然后使用py_模块
。此外,我不会调用这些文件脚本,而是调用模块。