没有名为Sympy的模块。

17

嗨,我正在参加一个Edx课程,学习使用Python进行线性代数学习。(http://nbviewer.ipython.org/github/ULAFF/notebooks/tree/may-14-2014/)。

在“02.4.2.10矩阵-向量乘法练习”中,第一个框的代码是:

import generate_problems as gp
print("What is the result of the matrix vector product below?")

p = gp.Problem()

p.new_problem()

generate_problems是一个Edx教授创建的模块。但是,我导入sympy时遇到了错误。

我遇到了下面的错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-10-79d56e0988cb> in <module>()
----> 1 import generate_problems as gp
      2 print("What is the result of the matrix vector product below?")
      3 
      4 p = gp.Problem()
      5 

/Users/user/Desktop/Course/Python/ipython/notebooks-master/generate_problems.py in <module>()
      2 from numpy import matrix
      3 
----> 4 from sympy import init_printing, Matrix, MatMul, latex, Rational, zeros
      5 from IPython.display import Math
      6 

ImportError: No module named sympy
我下载并安装了sympy,在终端(Mac OS X yosemite)中的sympy目录下导入时可以使用。能否有人帮我解决问题?

1
也许,Python分发路径尚未与SymPy路径关联。 - cosmoscalibur
1
@duffymo,你看的是另一个问题吗?错误明确说明“ImportError: No module named sympy”,并且在成功执行“from numpy import matrix”之后失败。 - cel
3个回答

21

考虑到您刚接触Python,我建议您安装一个已经包含完整科学Python堆栈的发行版,例如WinPythonAnaconda。如果您特别需要使用sympy,您可以在Sympy live上在线尝试。如果您想继续使用当前发行版,请尝试安装sympy。

pip install sympy

而不是手动下载。


1
谢谢!我安装了Anaconda,真的很棒 :) 解决了问题。 - pythonlearner

5

您也可以在 Jupyter 笔记本 中完成此操作。在单元格中写入以下内容,然后运行该单元格:

!pip install --upgrade
!pip install sympy 
import sympy

如果您的内核使用的是Python3,则请使用“pip3”。如果它不能立即工作,您可能需要执行Kernel-> Restart。
如果它仍然找不到模块,因为Jupyter没有加载安装所在的正确文件夹,请考虑执行以下操作之一:
import sys
sys.path.append('my/path/to/module/folder') 
#the (successful) line "!pip install sympy " should tell you where this path is

或者(在Bash终端上)
echo "PYTHONPATH=\"$PYTHONPATH:my/path/to/module/folder\"" >> ~/.bashrc
source ~/.bashrc
# then restart jupyter notebook 

我如何找到模块的路径? - Boris Valderrama
1
@Elborito 对于回答晚了我感到抱歉。这取决于您的操作系统(1)、您拥有的Python软件包安装程序(pip2、pip3、conda2-3、其他)(2)。无论是什么,您都应该寻找“site-packages”文件夹。它包含已安装的软件包。我有Anaconda,我的路径是“C:\Users\angelo\Anaconda3\Lib\site-packages”。 - angelo.mastro

0

当我尝试导入一个模块函数时,我遇到了同样的问题。

from sympy.solvers.ode.subscheck import checkodesol, checksysodesol

IPython 终端会抛出一个 ModuleNotFoundError: No module named 'sympy.solvers.ode.subscheck'; 'sympy.solvers.ode' is not a package 错误。但是相同的命令在我运行 Python 的 Anaconda 终端中有效。事实证明,两者使用的是不同版本的Sympy。实际上,我克隆了 git 仓库并安装了最新的开发版本,而 IPython 使用的是 Anaconda 的 site-package 目录中的版本,该版本没有我尝试导入的模块。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接