Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
py2app不包括pythonpath_Python_Py2app - Fatal编程技术网

py2app不包括pythonpath

py2app不包括pythonpath,python,py2app,Python,Py2app,我正在尝试用py2app构建一个应用程序。我可以构建应用程序,但当我运行它时,我在控制台中得到了importorror,导入错误是没有名为PythonApp的模块,这是我所有源代码所在的文件夹,其位置在我的PYTHONPATH中 我一直在从PythonApp导入文件导入本地文件,比如,而不是仅仅导入文件,以帮助避免名称空间问题 我尝试使用以下标志python setup.py py2app构建它——使用pythonpath,但这似乎没有任何区别 我是否应该将整个导入语句更改为import fi

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

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

我尝试使用以下标志
python setup.py py2app构建它——使用pythonpath
,但这似乎没有任何区别

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

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

PythonApp/
  __init__.py
  file.py
  foo.py
您可以尝试通过PythonApp导入文件中的
foo.py
导入模块
文件。如果这是您想要设置PYTHONPATH的唯一原因,那么有一个更简单的解决方案:使用:

您可以从中使用
。。在PythonApp的子包中导入文件
,依此类推。这样可以避免与标准模块的名称冲突

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


另外,对于
ImportError
还有一个更简单的解释,那就是py2app没有将您的包复制到应用程序包中。确保在
setup()

packages
参数中列出了所有软件包如果我很了解您的问题,您的布局如下:

PythonApp/
  __init__.py
  file.py
  foo.py
您可以尝试通过PythonApp导入文件中的
foo.py
导入模块
文件。如果这是您想要设置PYTHONPATH的唯一原因,那么有一个更简单的解决方案:使用:

您可以从中使用
。。在PythonApp的子包中导入文件
,依此类推。这样可以避免与标准模块的名称冲突

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

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