Python - 在 setup.py 构建中包含来自项目根目录的 python 脚本

Python - Including python scripts from project root in setup.py build

我已经看过 但我无法理解哪个是解决方案...

我正在尝试编写一个 setup.py 文件来构建我的代码。

项目目录结构如下:

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_folder 和位于根文件夹中的两个脚本。

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。

怎么了?

在我看来你应该做这样的事情:

import setuptools
setuptools.setup(
    # ...
    py_modules=[
        'script1',
        'script2',
    ],
)

请注意,在这种情况下,首选面额是 module,而不是 script。在我看来脚本是直接调用执行,模块是导入