首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >py2app不包括丙酮通道

py2app不包括丙酮通道
EN

Stack Overflow用户
提问于 2011-11-20 18:49:22
回答 1查看 838关注 0票数 1

我正试图用py2app构建一个应用程序。我可以构建这个应用程序,但是当我运行它时,我在控制台中得到了ImportError,导入错误是No module named PythonApp,它是我所有的源代码所在的文件夹,其位置在我的PYTHONPATH中。

我一直在导入本地文件,比如from PythonApp import file,而不仅仅是import file,以帮助避免命名空间问题。

我尝试使用以下标志python setup.py py2app --use-pythonpath构建它,但这似乎没有什么不同。

  • 我是否应该将导入语句更改为import file
  • 如何让py2app实现我的PYTHONPATH
EN

回答 1

Stack Overflow用户

发布于 2011-11-20 22:19:02

如果我很好地理解了您的问题,那么您的布局如下:

代码语言:javascript
复制
PythonApp/
  __init__.py
  file.py
  foo.py

然后尝试通过filefoo.py导入模块from PythonApp import file。如果这是您希望设置PYTHONPATH的唯一原因,那么有一个更简单的解决方案:使用相对进口

代码语言:javascript
复制
from . import file

您可以在from .. import file的子包中使用PythonApp,等等。这样您就可以避免与标准模块的名称冲突。

如果出于其他原因需要对导入路径进行黑客攻击,还可以在启动脚本中设置sys.path变量(可能py2app也有一些选项)。不过,请记住,如果将外部目录添加到导入路径中,则分发应用程序包将更加困难。

另外,对ImportError的一个更简单的解释是,py2app没有将您的包复制到应用程序包中。确保在packages参数setup()中列出了所有包。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8203797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档