Я пытаюсь использовать cx_Freeze для создания исполняемого файла скрипта, который загружает запрос .sql из той же папки, выполняет его в БД BigQuery и возвращает .csv полученных данных.
This is what the 'conda list' command gives me:
google-api-core 1.1.0 py_0 conda-forge
google-auth 1.6.2 py_0 conda-forge
google-cloud-bigquery 1.8.1 py_0 conda-forge
google-cloud-core 0.28.1 py_0 conda-forge
google-resumable-media 0.3.1 py_0 conda-forge
googleapis-common-protos 1.5.5 py_0 conda-forge
Сценарий завершается сбоем в первых строках (KEY и PROJECT_ID указаны в сценарии, но не вставлены в целях безопасности)
from google.cloud import bigquery
client = bigquery.Client.from_service_account_json(KEY, project=PROJECT_ID)
Мой setup.py для cx_Freeze выглядит так:
from cx_Freeze import setup, Executable
setup(name='output_script', executables = [Executable("my_script.py")], version="1.0.0",
options={
"build exe":{"packages":["google.cloud.bigquery, google.cloud.bigquery.client"]}})
Сборка выполняется успешно, однако, когда я запускаю my_script.exe в папке сборки, я получаю следующую ошибку:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 14, in run
module.run()
File "C:\ProgramData\Anaconda3\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26, in run
exec(code, m.__dict__)
File "my_script.py", line 15, in <module>
File "my_script.py", line 7, in queryBigQ
AttributeError: module 'google.cloud.bigquery' has no attribute 'Client'
Попытка переустановки и обновления всех пакетов Google, но безуспешно. Любые указатели будут оценены.