3

ターミナルで sympy を正常にインポートできますが、.py ファイルとして保存して実行すると、次のエラーが表示されます。

Traceback (most recent call last):
File "/Users/Dao/Desktop/sympy.py", line 3, in <module>
    from sympy import Symbol
File "/Users/Dao/Desktop/sympy.py", line 3, in <module>
    from sympy import Symbol
ImportError: cannot import name Symbol
[Finished in 0.0s with exit code 1]

なぜこれが起こっているのか、少し混乱しています...何か考えはありますか?

ありがとうございました!

4

3 に答える 3

3

このパス:

/Users/Dao/Desktop/sympy.py

という名前の独自のファイルがあるように見えますsympy.py。それが本当なら、ライブラリをシャドーイングしていますsympy。言い換えると、 と入力するfrom sympy import Symbolと、Python はあなたのプログラムがインポート元のプログラムSymbolであると判断しますが、これは機能しません。

(1) プログラムの名前を変更し、(2)ぶらぶらしているファイルを削除しDesktop/sympy.pycます。Desktop/sympy.pyo次に、sympy正しくインストールされている場合(そして、インポートできるとあなたが言っていることから、おそらくそうです)、動作するはずです:

>>> from sympy import Symbol
>>> Symbol
<class 'sympy.core.symbol.Symbol'>
于 2012-11-06T14:40:30.987 に答える
1

おそらく 2 つの異なるバージョンの python を使用しています。次のように入力してみてください。

which python

コマンドラインで、それをスクリプトのバージョンとして設定し、スクリプトでシバン (#!) を使用します。chmod +x を実行して、exacutacle として実行します。

于 2012-11-06T06:35:40.577 に答える
1

sympy はSymbolクラスを直接持っていません。コアモジュールの下にあります。

あなたはそれをインポートすることができますfrom sympy.core.symbol import Symbol

sympy モジュールが Python パスに含まれていることに注意してください。

于 2012-11-06T14:06:08.083 に答える