[英]Pyinstaller .exe cannot use module with __file__
伙计们! 我有一个问题,需要你的帮助!
问题:我有一个名为client.py的主要 Python 脚本,并在其中导入了一个名为stata_setup.config的模块。 但是config.py中有一个if语句判断__file__
的目录是否正确,所以在pyinstaller之后,当我运行client.exe时,总是报错: “failed to load Stata's shared library” 。 config.py中的错误及相关代码如下:
def _get_st_home():
pypath = os.path.normpath(os.path.abspath(__file__))
d_utilities = dirname(dirname(pypath))
if os.path.basename(d_utilities).lower()=="utilities":
return dirname(d_utilities)
else:
_RaiseSystemException("failed to load Stata's shared library")
原因:经过搜索和学习,我知道是因为pyinstaller的bootloader改变了原来的目录。
谁能帮帮我吗? 我知道原因,但我不知道如何解决。
谢谢!
试试这个方法: if os.path.isfile('./stata_setup.config'):
。 这 '。' 如果该文件与脚本位于同一目录中,则查找该文件。 如果您的文件在文件夹中,那么if os.path.isfile('./folder/stata_setup.config')
看起来像这样。 出于什么原因 pyinstaller 不喜欢使用(__file__)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.