Symphy已安装,但在默认Python版本中找不到

Symphy已安装,但在默认Python版本中找不到,python,sympy,Python,Sympy,我正在使用Windows 10的Linux子系统,其中安装了多个版本的Python。默认值,通过键入 哪个python 在外壳中的是位于 /opt/intel/oneapi/intelpython/latest/bin ,即英特尔OneAPI的默认版本。 我使用以下命令安装了Symphy: sudo apt-get install python3-sympy 相应的文件夹似乎位于/usr/bin/sympy中。 当我打开Python时,当我键入importsymphy时,我得到了消息 Modu

我正在使用Windows 10的Linux子系统,其中安装了多个版本的Python。默认值,通过键入
哪个python

在外壳中的是位于
/opt/intel/oneapi/intelpython/latest/bin

,即英特尔OneAPI的默认版本。 我使用以下命令安装了Symphy:

sudo apt-get install python3-sympy
相应的文件夹似乎位于
/usr/bin/sympy
中。 当我打开Python时,当我键入
importsymphy
时,我得到了消息
ModuleNotFoundError:没有名为“sympy”的模块
。 因此,我想让Python的默认版本识别“sympy”包。
最后,我想提前感谢您的合作。

APT将python包安装到默认的系统范围python安装中

要将python包安装到特定的自定义python安装中,只需执行
python-m pip install symphy
,这里
python
是python的二进制名称或路径,例如,您可以执行
/path/To/python-m pip install symphy

您可能需要将
sudo
添加到命令以root用户身份运行,即
sudo/path/to/python-m pip install sympy
。或者另一种选择是通过添加
--user
,即
/path/to/python-mpip-install--user-sympy
,将软件包安装到用户目录中。这两个选项都适用于您


注意如@OscarBenjamin中所述,强烈建议不要使用
sudo
(最好使用
--user
),因为
pip install
在与
sudo
一起使用时,可以以根用户身份从Internet运行任意代码,请参见答案。至少不要对不可信的pip软件包使用
sudo

非常感谢,Arty。现在,该软件包似乎已被正确识别。我想通知您,当我键入您建议的最后一个命令时,我收到以下警告:警告:目录“/home/[username]/.cache/pip”或其父目录不归当前用户所有或不可写。缓存已被禁用。检查该目录的权限和所有者。如果用sudo执行pip,您可能需要sudo的-H标志。@StellF谢谢您指出这一点!刚刚更新了我的答案,添加了有关在执行pip安装时使用
sudo
--user
的信息。简而言之,只需添加
sudo
,即
sudo/path/to/python-m pip install sympy
或使用
/path/to/python-m pip install--user sympy
安装到用户目录,这两种变体都可以工作。您不应该将sudo与pip@OscarBenjamin一起使用,谢谢!在我的回答中添加了您的建议作为通知!