Python "freeze" не включает пространство имен - PullRequest
1 голос
/ 14 июля 2020

Это сценарий под названием sharkfest.py:

import os, sys

if __name__ == '__main__':
    print(sys.modules[__name__])

Когда я запускаю сценарий, он отображает имя модуля как sharkfest.py

Python38-32\python.exe sharkfest.py 
<module '__main__' from 'sharkfest.py'> 

, но когда я его замораживаю и запустите его как исполняемый файл, имя модуля built-in

Это файл setup.py:

from cx_Freeze import setup, Executable
options = {"packages":["errno","psycopg2","requests","simplecrypt"]}
setup(name = "Shark" ,
    version = "0.1" ,
    description = "" ,
    options= {"build_exe": options},
    executables = [Executable("sharkfest.py")])

Вот команда, используемая для замораживания:

c:\Python38-32\python.exe setup.py build

и вот результат при запуске исполняемого файла sharkfest.exe:

module '__main__' (built-in)

Мой вопрос в том, как я могу сделать модуль sharkfest.py, а не built-in. есть ли какой-либо параметр или параметр, который нужно добавить в файл setup.py?

...