Я создаю автономный инструмент, использующий API AWS, основные ошибки скрипта в строке import boto3. Когда я запускаю скрипт через CLI, он работает нормально. Когда я пытаюсь запустить его через приложение py2app, оно выдает следующую ошибку:
Traceback (most recent call last):
File "scripts/application.py", line 18, in <module>
import boto3
File "<frozen zipimport>", line 259, in load_module
File "boto3/__init__.pyc", line 16, in <module>
File "<frozen zipimport>", line 259, in load_module
File "boto3/session.pyc", line 17, in <module>
File "/path/application.app/Contents/Resources/lib/python3.8/botocore/session.py", line 29, in <module>
import botocore.credentials
File "/path/application.app/Contents/Resources/lib/python3.8/botocore/credentials.py", line 34, in <module>
from botocore.config import Config
File "/path/application.app/Contents/Resources/lib/python3.8/botocore/config.py", line 16, in <module>
from botocore.endpoint import DEFAULT_TIMEOUT, MAX_POOL_CONNECTIONS
File "/path/application.app/Contents/Resources/lib/python3.8/botocore/endpoint.py", line 22, in <module>
from botocore.awsrequest import create_request_object
File "/path/application.app/Contents/Resources/lib/python3.8/botocore/awsrequest.py", line 25, in <module>
import botocore.utils
File "/path/application.app/Contents/Resources/lib/python3.8/botocore/utils.py", line 31, in <module>
import botocore.httpsession
File "/path/application.app/Contents/Resources/lib/python3.8/botocore/httpsession.py", line 8, in <module>
from urllib3.util.ssl_ import (
ImportError: cannot import name 'ssl' from 'urllib3.util.ssl_' (/path/application.app/Contents/Resources/lib/python38.zip/urllib3/util/ssl_.pyc)
Мой текущий файл setup.py выглядит следующим образом:
import py2app
from setuptools import setup
APP_NAME = "Application"
APP = ['testkinter.py']
DATA_FILES = [('scripts', ['application.py']),
('images', ['Application.gif'])]
OPTIONS = { 'argv_emulation': False,
'iconfile':'Actions.icns',
'includes':['py2app', 'time', 'json', 'datetime','csv', 'boto3',
'tkinter','uuid', 'subprocess', 'pyOpenSSL', 'urllib3']}
setup(
name = APP_NAME,
app = APP,
data_files = DATA_FILES,
options = {'py2app': OPTIONS},
setup_requires = ['py2app']
)
pip3 Стоп-вывод:
altgraph==0.17
boto3==1.12.18
botocore==1.15.18
certifi==2019.11.28
cffi==1.14.0
chardet==3.0.4
cryptography==2.8
docutils==0.15.2
idna==2.9
jmespath==0.9.5
macholib==1.14
modulegraph==0.18
py2app==0.21
pycparser==2.20
pyOpenSSL==19.1.0
python-dateutil==2.8.1
requests==2.23.0
s3transfer==0.3.3
six==1.14.0
urllib3==1.25.8
Я попытался удалить и переустановить boto3, urllib3 и py2app, так что я знаю, что это не так просто исправить. Я также попытался включить / исключить библиотеки, которые я поместил в файл seteup.py.
Спасибо.