1

可能重复:
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)需要一个变量,但我找不到如何有效地做到这一点。

感谢您的帮助,我在网上找不到很好的资源来解释这一点。随时提出问题,您可以在此处了解有关该项目的更多信息。

编辑 :

嗯,似乎这个问题回答了我一半的问题。我仍然需要找到如何有效地创建个人文件夹来保存我的日志。

4

0 回答 0