可能重复:
setuptools:包数据文件夹位置
我已经用 Python 实现了一个应用程序,现在我想打包它。
这是我的树的简化版本
.
├── ivolution
│ ├── data
│ │ └── ui
│ │ ├── AboutIvolutionDialog.glade
│ │ └── IvolutionWindow.glade
│ ├── Face.py
│ ├── gui
│ │ ├── AboutDialog.py
│ │ ├── IvolutionWindow.py
| |
│ ├── Guy.py
│ ├── training_types.py
|
├── Ivolution.py
├── setup.py
要运行的主要脚本是 Ivolution.py
我的 gui(在 ivolution/gui 中)导入 glade 文件。
在我的 GUI 代码 (IvolutionWindow.py) 中,我必须导入我的 glade 文件,我使用
self.builder.add_from_file("ivolution/data/ui/IvolutionWindow.glade")
如果我从包中工作,这将非常有效。但是如果我安装包
python setup.py install
当我运行 Ivolution.py 时,工作目录是脚本运行时的目录,而不是 IvolutionWindow.py 的位置。
所以我最终遇到了导入错误:
Traceback (most recent call last):
File "/usr/local/bin/Ivolution.py", line 10, in <module>
my_app = IvolutionWindow.IvolutionWindow("Ivolution")
File "/usr/local/lib/python2.7/dist-packages/ivolution/gui/IvolutionWindow.py", line 34, in __init__
self.builder.add_from_file("ivolution/data/ui/IvolutionWindow.glade")
File "/usr/lib/python2.7/dist-packages/gi/types.py", line 43, in function
return info.invoke(*args, **kwargs)
gi._glib.GError: Failed to open file 'ivolution/data/ui/IvolutionWindow.glade': No such file or directory
我的问题是,我怎样才能正确处理我的进口?
我猜我的安装目录和本地数据目录(~/.Ivolution)需要一个变量,但我找不到如何有效地做到这一点。
感谢您的帮助,我在网上找不到很好的资源来解释这一点。随时提出问题,您可以在此处了解有关该项目的更多信息。
编辑 :
嗯,似乎这个问题回答了我一半的问题。我仍然需要找到如何有效地创建个人文件夹来保存我的日志。