程序包安装后处理文件导入

时间:2012-08-02 13:41:26

标签: python package setuptools

  

可能重复:
  setuptools: package data folder location

我已经在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)的变量,我想,但我找不到如何有效地做到这一点。

感谢您的帮助,我在网上找不到好的资源来解释这一点。 您可以随意提问,您可以详细了解该项目here

编辑:

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

0 个答案:

没有答案