3

这是我的结构,

main.py
folder1\
    button.py
    folder2\
        picturebutton.py
folder3\
     listbox.py
     folder4\
         customlistbox.py
         folder5\
             hyperlistbox.py

现在,

我有一个名为“widget.py”的模块,我想让这里的所有模块都可以访问它,以便每个模块都可以说import widget或类似的东西。谷歌搜索后,看来我必须制作一个包才能做到这一点。

我无法使用在线示例,因为我不知道它们是如何工作的,我希望你们中的一个人能够帮助我解决我的问题。

编辑:所有文件夹(除了根文件夹)都有一个__init__.py文件。

4

2 回答 2

2

能够导入其他一些模块并不需要它是一个包,它需要将widget模块放在你的PYTHONPATH. 您通常会通过安装它来做到这一点(编写setup.py文件,请参阅标准库的distutils模块)。

如果你确实想要一个包,每个需要成为包的文件夹都需要有一个__init__.py文件(空的很好)。

于 2012-07-31T22:56:12.407 回答
0

正确的方法是为你的包创建一个 setup.py 文件,但因为它可能需要一些时间。下面是快捷方式。

如果你想经常使用你的模块,就像在 script 中一样。简单的方法是在 bashrc/zshrc 文件中导出“PYTHONPATH”,并给出包含代码的目录的路径。

例如:

   export PYTHONPATH=$PYTHONPATH:$HOME/path/to/package  

使用检查终端

echo "$PYTHONPATH"  

快乐编码

于 2014-10-29T04:51:11.897 回答