twilio でのインポート エラー
-
29-10-2019 - |
質問
このスレッドと同じ問題を抱えています twilio-Python:
twilio.rest が twilio Python モジュール バージョン 2.0.8 にありませんか?
ただし、同じ問題が発生していますが、3.3.3 がインストールされています。twilio.rest をインポートしようとすると、依然として「No modulenamedrest」というメッセージが表示されます。
スタンドアロンの Python スクリプトからライブラリをロードすると機能します。したがって、パッケージをインストールする pip が機能したことがわかります。
from twilio.rest import TwilioRestClient
def main():
account = "xxxxxxxxxxxxxxxx"
token = "xxxxxxxxxxxxxxxx"
client = TwilioRestClient(account, token)
call = client.calls.create(to="+12223344",
from_="+12223344",
url="http://ironblanket.herokuapp.com/",
method="GET")
if __name__ == "__main__":
main()
しかし、これは機能しません:
from twilio.rest import TwilioRestClient
def home(request):
client = TwilioRestClient(account, token)
次に何を試せるかわかりますか?
解決
プロジェクトtwilio.py
でPythonファイルに名前を付けました。そのファイルが最初にロードされたため、その後のtwilioのロードの呼び出しでは、twilioライブラリではなくそのファイルが参照されます。
TLDR: Pythonファイルにtwilio.pyという名前を付けないでください
他のヒント
のバージョンを確認してください pip
そして python
次のコマンドで実行しています。
which -a python
which -a pip
pip
Python 実行可能ファイルが読み取れるパスにインストールする必要があります。複数のバージョンが存在する場合があります。 pip
のように pip-2.5
, pip-2.7
等実行するとそれらすべてを見つけることができます compgen -c | grep pip
. 。特に Macports または brew または複数のバージョンの Python がインストールされている場合は、Python の複数のバージョンが存在する可能性があります。
次のコマンドを実行して、どのバージョンの twilio モジュールがインストールされているかを確認します。
$ pip freeze | grep twilio # Or pip-2.7 freeze etc.
出力は次のようになります。 twilio==3.3.3
.
お役に立てば幸いです - さらに質問がある場合はコメントを残してください。
これは私のために働いた:(Windows)
PythonライブラリはG:\ Python \ Libにあります
(PythonはG:にインストールされているため、異なる場合があります)
ライブラリを>> G:\ Python \ Lib << に貼り付けて、githubからTwilioをダウンロードします
インポートの問題がなくなりました:)
同じ問題が発生し、頭がおかしくなった。ついに私はそれを理解しました。エラーが発生した場合:
AttributeError:モジュール 'twilio'には属性 'バージョン'がありません
上記の2行を見ると、エラーはtwilioファイルがどこにあるかを示しています。それで、私はそれをある場所からそれが求めていた場所に移動しました。
インストール先: ジェネラコディセタグプレ
次の場所に移動しました: トレースバック(最後の最後の呼び出し): ファイル ""、1行目、 twilioをインポートする に
"C:\Users\rhuds\AppData\Local\Programs\Python\Python37-32\twilio.py"
の2行目をファイルしますこれで、twilioをインポートできます。それ以外に、古いバージョンのPythonをアンインストールするだけでしたが、それはそれほど重要ではないと思います。