【发布时间】:2020-08-30 00:46:05
【问题描述】:
我正在尝试使用 setuptools 构建一个项目。在我的项目中出现必不可少的config.yaml 文件。我是这样指定的:
setup=(
# some stuff
include_package_data=True,
package_data={
"": ["*.yaml"]
},
# some remains stuff
)
但我在找不到config.yaml 时遇到问题。它发生在我启动应用程序时。
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\github\\Cats_Queue_Management_System\\env\\lib\\site-packages\\kitty_getter-1.0-py3.8.egg\\application\\config.yaml'
但是,它已被复制。 (正如我正确理解的那样)。
copying build\lib\application\config.yaml -> build\bdist.win32\egg\application
python代码中的文件交互:
# some stuff
default_file = Path(__file__).parent.parent / 'config.yaml'
with open(default_file, 'r') as f:
config = yaml.safe_load(f)
# some remains stuff
项目安排如下:
Project/
+- app/
| +- __init__.py
| +- src/
| | +- __init__.py
| | +- config_processing.py
| +- entry_point.py
| +- config.yaml
+- setup.py
或更完整的版本(文件交互发生在settings.py):
另外,我想指出,如果我直接启动应用程序,我的意思是python entry_point.py,它可以工作。
【问题讨论】:
标签: python python-3.x build filepath setuptools