我有这段代码
from module1 import *
feature1() # from module1
我收到一个NameError
异常
NameError: global name 'feature1' is not defined
它在python main.py
中完美地工作,但是当我使用pyinstaller
进行编译时,我的可执行文件会抛出NameError
异常。我将如何解决这个问题?
答案 0 :(得分:0)
确保module1存在并定义
确保feature1在模块1中存在
确保feature1是一个函数,而不是其他任何东西(如类型或对象)
如果您使用虚拟环境,请确保该软件包已安装在此处,并且
4a。确保从虚拟环境中运行脚本
答案 1 :(得分:0)
您真的不应该使用import *
,这将使确定对象的来源变得更加困难-任何很多短毛绒都无法使用。
尝试做:
from module1 import *
dir()
这将告诉您什么已导入并可以使用。如果feature1
不存在,那么您有解释-如果存在,您将面临更复杂的旅程。
答案 2 :(得分:0)
在使用pyinstaller编译脚本时,请使用命令pyinstaller -p /Path/To/Your/Module1/Folder main.py
这会将包含脚本的目录添加到PATH变量,并将module1.py添加到已编译的exe。