我可以在windows上使用python2.7解释器上传数据。
但在我将其编译为exe后,它在第行显示错误:
s3 = session.client('s3')
import HTMLParser
import ConfigParser
# Above packages necessary because boto3 depend on them
import boto3
from boto3.session import Session
# variable initialization
session = boto3.session.Session()
s3 = session.client('s3') #Error at this line
s3.upload_file(fileToUpload, bucketName, keyName)
错误是:
^{pr2}$可能是什么问题?在
这是因为boto3找不到它的数据文件。在
在本例中,Python27\Lib\site packages\botocore\data包含数据文件。我们需要指示boto3在主模块所在的同一目录下的data文件夹中搜索它们。然后我们需要让py2exe将引用的包和数据文件与EXE捆绑在一起。在
提供了数据文件
提供
^{pr2}$cacert.pem
然后重新编写代码:
现在,我的python模块使用}
<project_root>\data
中的资源,而不是{最后,
setup.py
,它指示py2exe将所有数据文件和引用的包包括到分发中。在由于jamesls和{a3},答案从issue中提取。在
我在回答我自己的问题。在
通过在aws文件中添加以下内容
('data/s3/2006-03-01',['data/s3/2006-03-01/paginators-1.json']) ('data/s3/2006-03-01',['data/s3/2006-03-01/waiters-2.json'])
现在这一切如预期的那样有效。在
相关问题 更多 >
编程相关推荐