私は現在、私のPythonオートメーションからBoxへの単一のファイルのアップロード(今のところ)を自動化しようとしています。
「非常に使いやすい」と思われるBox開発者Webサイトのコードを使用していますが、このページにある単純なプログラムを実行しようとするとエラー(上記のタイトルを参照)が表示されます。 https://www.box.com/blog/introducing-box-python-sdk/ クライアント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 AND easy_installを使用して暗号化プログラムをインストールしました。libffiとopensslおよびoauth2を安全に使用するため、何も機能しません。誰も私を助けることができますか?
ありがとう、ゲイリー
このエラーは、boxsdk
ライブラリとは関係ありませんが、依存関係の1つであるcryptography
とは関係ありません。
ほとんどの場合、cryptography
ライブラリのインストールが失敗したために発生します。ほとんどの場合、ほとんどのコンピューターにはデフォルトでlibffiがインストールされていないため失敗しました。
Brewを使用している場合は、ターミナルに移動してbrew install libffi
次に、cryptography
またはboxsdk
を含むpip
を再インストールします。
pip install cryptography --force-reinstall
これを試してください。幸運を!
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
AWS Lambdaでparamikoを実行しようとしたときにまったく同じエラーが発生しました。pycryptoに依存しています。それぞれに対してpipをインストールする前に、次を実行して修正しました。
Sudo yum install gcc libffi-devel python-devel openssl-devel
Pycryptoのpipインストールが見つけられなかったヘッダーを探していたので、これはうまくいくように見えました。