PyInstaller如何评估导入模块的路径

时间:2018-06-06 16:17:09

标签: python pyinstaller pathlib

在使用PyInstaller时,我不确定如何正确理解导入模块中定义的路径。

我有一个像这样结构的小python包:

\toy\
    __init__.py
    main.py
    \admin\
        __init__.py
        settings.py

settings.py模块标识工作目录,并应将模块main.py传递给它。

main.py代码

from admin.settings import BASE_DIR
with open('./out.txt' , 'w') as f:
    f.write("Hello World")
    f.write(f"\nThe working directory is {BASE_DIR}\n")

settings.py

代码
from pathlib import Path
BASE_DIR = Path(__file__).parent.parent

在main.py模块上应用PyInstaller工作正常。 exe已创建,我可以运行它。

然而,看看out.txt文件,我似乎在构建exe(c:\ users \ my_name \ appdata \ local \ temp ....)时评估了BASE_DIR,而不是提供exe所在的目录位于。

有没有办法改变这种行为,即从settings.py模块传递exe的位置。

致以最诚挚的问候,

PS:我正在使用Windows 10和Python 3.6

0 个答案:

没有答案