我目前正在尝试从Python自动化中自动将单个文件(现在)上传到Box。
我正在使用Box开发者网站上的代码,该代码应该是“超级易用”但当我尝试运行此页面上的简单程序时,我收到错误(请参阅上面的标题):{ {3}}。我添加了我的客户端ID,客户端密码和开发人员令牌,并添加了我的zip文件上传路径,并不断收到上述错误。我没有改变任何事情。
不想点击链接的代码:)
from boxsdk import Client, OAuth2
oauth = OAuth2(
client_id="YOUR_CLIENT_ID",
client_secret="YOUR_CLIENT_SECRET",
access_token="YOUR_DEVELOPER_TOKEN",
)
client = Client(oauth)
shared_folder = client.folder(
folder_id='0',
).create_subfolder('shared_folder')
uploaded_file = shared_folder.upload('/path/to/file')
shared_link = shared_folder.get_shared_link()
我已经使用pip和easy_install安装了加密程序,以及libffi和openssl以及oauth2只是为了安全而且没有任何作用。任何人都可以帮助我吗?
谢谢, 加里
答案 0 :(得分:11)
此错误与boxsdk
库无关,但与其有一个依赖关系:cryptography
。
大多数情况下,这是因为cryptography
库安装失败。大多数情况下,它失败了,因为默认情况下大多数计算机上都没有安装libffi。
如果您正在使用brew,只需进入终端并输入brew install libffi
然后使用cryptography
重新安装boxsdk
或pip
:
pip install cryptography --force-reinstall
答案 1 :(得分:7)
试一试。祝你好运!
rm -rf /usr/local/lib/python2.7/dist-packages/fabric/fabric-home-assistant
sudo apt-get install libffi-dev libssl-dev
sudo pip install cryptography --force-reinstall
答案 2 :(得分:3)
尝试在AWS Lambda上运行paramiko时出现完全相同的错误,这取决于pycrypto。我在为每个人执行pip安装之前运行以下命令来修复它:
sudo yum install gcc libffi-devel python-devel openssl-devel
这似乎有效,因为pycrypto的pip安装正在寻找它找不到的标题。