繁体   English   中英

Pyinstaller.exe 不能使用带有 __file__ 的模块

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM