2
我是一個外部計算機上運行sympy,但是當我做了簡單的命令Sympy「字符串格式化過程中並不是所有的參數轉換」使用零時((N,N))
M=sympy.zeros((2,2))
我得到的錯誤
Traceback (most recent call last):
File "test.py", line 8, in <module>
M=sp.zeros((2,2))
File "/apps/brussel/magnycours/software/sympy/0.7.6-intel-2015a-Python-2.7.9/lib/python2.7/site-packages/sympy/matrices/dense.py", line 1229, in zeros
return cls.zeros(r, c)
File "/apps/brussel/magnycours/software/sympy/0.7.6-intel-2015a-Python-2.7.9/lib/python2.7/site-packages/sympy/matrices/dense.py", line 513, in zeros
r = as_int(r)
File "/apps/brussel/magnycours/software/sympy/0.7.6-intel-2015a-Python-2.7.9/lib/python2.7/site-packages/sympy/core/compatibility.py", line 389, in as_int
raise ValueError('%s is not an integer' % n)
TypeError: not all arguments converted during string formatting
然而,當我在我自己的電腦上運行,沒有任何問題。我怎樣才能解決這個問題?
我的電腦上的版本是0.7.1.rc1,而羣集上的版本是0.7.6。我應該問他們安裝(舊?)版本還是有一個更容易修復?
我敢打賭,'sympy.zeros'函數在集羣上的版本不同的參數。我會看'0.7.6'的API文檔來看看它應該採取什麼。 –
您的實際錯誤是堆棧跟蹤中顯示的「ValueError」。在構造錯誤消息的過程中,會引發'TypeError'。大概是因爲n是一個元組,但預計是一個整數。 – swenzel
謝謝,這是一個非常簡單的解決方案,現在它的工作沒有問題。這兩個版本的語法確實是不同的(這種語法相當遲鈍,新版本應該至少能夠識別和通知,當一個人嘗試舊的語法而不是拋出神祕的錯誤信息時)。 –