2

我发现如果我同时安装了 sympy 和 numpy(编辑:或 IPython)(32 位 Windows 7),那么我只能通过其 isympy 脚本文件运行 sympy,例如,从 git-bash 控制台

pushd /c/Python27/Lib/site-packages/sympy/bin
python isympy
limit(diff(exp(-1/t**2), t, 64), t, 0)

紧缩几秒钟然后打印 0

但是,如果我尝试导入 sympy,如

from sympy import Symbol, cos

我得到一个ImportError: cannot import name Float(下面的完整追溯)

我仍然可以从其isympy脚本运行 sympy,并且可以将 numpy 和 scipy 导入从isympy脚本启动的会话中。在这种情况下,numpy 和 scipy 打印输出与记录的结果不同,但它们通过了一个小的临时测试。

这是一个已知问题,还是我搞砸或误解的问题?我将不胜感激建议,指导,类似的经验等。

顺便说一句,我没有使用 64 位版本,因为我也在尝试安装 matplotlib,并且我认为 Tkinsert 不是有效的可执行文件出了点​​问题,所以我一直支持一切的 32 位版本。

编辑:

从头开始,安装 sympy 而不是 numpy,测试它 100% ok,然后安装 IPython。现在from sympy import Symbol产生一个类似的堆栈跟踪。

结束编辑

详情如下:

在 Windows 7 上将 Python 2.7.3 32 位全新安装到默认目录C:\Python27中。然后使用 git-bash 窗口安装 sympy,如下所示

pushd /c/Python27/Lib/site-packages
git clone git://github.com/sympy/sympy.git
cd sympy
python setup.py install

测试:

python setup.py test

跑了一会儿,都过去了。

标准的临时测试

from sympy import cos
x = Symbol('x')
(1/cos(x)).series(x,0,10)

印刷

1 + x**2/2 + 5*x**4/24 + 61*x**6/720 + 277*x**8/8064 + O(x**10)

通过脚本运行 sympy 可以isympy提供更漂亮的打印效果

quit()
python /c/Python27/Lib/site-packages/sympy/bin/isympy

>>> (1/cos(x)).series(x, 0, 10)
     2      4       6        8
    x    5*x    61*x    277*x     / 10\
1 + -- + ---- + ----- + ------ + O\x  /
    2     24     720     8064

现在,通过浏览器安装 numpy:

http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/numpy-1.6.1-win32-superpack-python2.7.exe/download

新会话中的临时测试

python
import numpy as np
a = np.arange(10)
a

印刷

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

from sympy import Symbol,cos

生成

Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from sympy import Symbol,cos
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "sympy\__init__.py", line 49, in <module>
    from sympy.core import *
  File "sympy\sympy\__init__.py", line 52, in <module>
    from polys import *
  File "sympy\sympy\polys\__init__.py", line 3, in <module>
    from polytools import (
  File "sympy\sympy\polys\polytools.py", line 17, in <module>
    from sympy.polys.polyclasses import DMP
  File "sympy\polys\__init__.py", line 3, in <module>
    from polytools import (
  File "sympy\polys\polytools.py", line 64, in <module>
    from sympy.polys.domains import FF, QQ
  File "sympy\polys\domains\__init__.py", line 11, in <module>
    from finitefield import FiniteField
  File "sympy\polys\domains\finitefield.py", line 5, in <module>
    from sympy.polys.domains.groundtypes import SymPyIntegerType
  File "sympy\polys\domains\groundtypes.py", line 34, in <module>
    from sympy import (
                       ImportError: cannot import name Float

我还能跑

python /c/Python27/Lib/site-packages/sympy/bin/isympy

但现在

import numpy as np
a = np.arange(10)
a

印刷

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

而不是预期的

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
4

0 回答 0