这里是我的第一个问题。我是个自学成才的业余爱好者。我知道这可能是一个愚蠢的问题,但我搜索了很多天也找不到任何信息。
我正在制作一个应用程序来读取谷歌电子表格中的数据使用谷歌API,然后输出的PDF文件与一个很好的图片预先格式化布局使用PYFPDF
。它在我的Python3.5.2 + Pycharm + Mac OSX
环境下的计算机上运行没有任何问题。
我的应用是从获取访问google API的凭据开始的。
scope = ['https://spreadsheets.google.com/feeds']
creds = ServiceAccountCredentials.from_json_keyfile_name('my_app_creds.json', scope)
client = gspread.authorize(creds)
和my_app_creds.json文件如下所示:
{
"type": "service_account",
"project_id": "my_app",
"private_key_id": "1234567890",
"private_key": "-----BEGIN PRIVATE KEY-----\nVERY_LONG_PRIVATE_KEY\n-----END PRIVATE KEY-----\n",
"client_email": "my_email@my_app.iam.gserviceaccount.com",
"client_id": "0987654321",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/my_app.iam.gserviceaccount.com"
}
当我使用pyinstaller编译包以在-F (一个文件夹)模式下生成可执行文件时,出现了错误。应用程序文件夹已成功创建,并正确位于“dist”文件夹中。但是当我试图执行这个文件时,它抛出了错误:
FileNotFoundError: [Errno 2] No such file or directory: 'my_app_creds.json'
[24713] Failed to execute script my_app
我已经将其包含在a.datas的.spec文件中,并且我使用的命令与pyinstaller文档中的命令相同:
pyinstaller my_app.spec
my_app.spec包含“找不到”.json文件
a = Analysis(['my_app.py'],
pathex=['/Users/gungpetrucci/PycharmProjects/myapp'],
binaries=[],
datas=[('my_app_creds.json', '.')],
我验证my_app_creds.json与'dist/my_app‘中的可执行文件位于同一文件夹中。我不知道为什么可执行文件找不到它?
当我试图搜索论坛时,它似乎对我来说不清楚:
我不确定这和_MEIPASS有什么关系?但我认为在pyinstaller?
请帮帮我..
发布于 2018-06-04 01:57:35
我在我的一个项目中遇到了同样的问题。我使用了以下变通方法-
app_creds_dictionary =<粘贴json文件内容包括{}>
希望这能有所帮助!
https://stackoverflow.com/questions/48435699
复制相似问题