我有一个Python项目,其结构如下:
package1
class.py
class2.py
...
package2
otherClass.py
otherClass2.py
...
config
dev_settings.ini
prod_settings.ini
我写了一个设置.py将其转换为具有相同文件结构的egg的文件。有趣的是,当我从IDE运行Python代码时,它可以很好地访问配置文件;但是当我尝试使用egg从不同的Python脚本运行它时,它似乎找不到egg中的配置文件。如果我把配置文件放到一个与调用Python脚本(在egg外部)相关的目录中,它就可以工作了,但这有点挫败了拥有程序所有功能并且可以从任何地方调用的自包含egg的目标。我可以使用任何类/模块并从egg运行任何函数,只要它们不使用配置文件。。。但是如果它们找到了,卵就找不到它们,所以这些功能就不起作用了。在
任何帮助都将非常感谢!我们对鸡蛋的事还不太熟悉,不知道从哪里开始。在
问题是,配置文件不再是文件了-它们打包在鸡蛋里。在文档中找到答案并不容易,但它确实存在。从setuptools developer's guide:
要访问它们,您需要遵循资源管理API的instructions。在
在我自己的代码中,我遇到了一个日志配置文件的问题。我像这样成功地使用了API:
见Setuptools' discussion of accessing pacakged data files at runtime。如果你想让脚本在一个鸡蛋里工作,你必须得到你的配置文件a different way。另外,为了实现这一点,您可能需要将config目录转换为一个Python包,方法是放入一个空的
__init__.py
文件。在相关问题 更多 >
编程相关推荐