由Conda安装的包,Python无法找到它

use*_*832 10 python theano anaconda conda

我试着通过Anaconda安装Theano.它工作,但当我进入python -i, import theano显示No module named 'theano'.我需要切换另一个Python解释器吗?另外,对于conda安装的软件包,如果我不重复安装它们,我可以在Python中找到吗?Python如何通过Anaconda与Python相关?谢谢!!!

And*_*ujo 12

我有一个类似的问题,试图安装folium。如果您使用的是Anaconda

当您使用 using 安装时conda install -c conda-forge folium,该包将被放置在:

./anaconda3/envs/[name env]/lib/python3.7/site-packages/folium
Run Code Online (Sandbox Code Playgroud)

当您使用 pip(激活 anaconda env)安装时pip install folium,包将被放置在:

./anaconda3/lib/python3.7/site-packages/folium
Run Code Online (Sandbox Code Playgroud)

Python首先使用sites-package作为手动构建的python包的目标目录。当您从源代码构建和安装 python 包时(使用 distutils,可能通过执行 python setup.py install ),默认情况下您会在站点包中找到已安装的模块。

在这种情况下,您有两个位置:/anaconda3/lib/python3.7/site-packages//anaconda3/envs/[name env]/lib/python3.7/site-packages/

首先,模块将在/anaconda3/lib/python3.7/site-packages/. 有时(我真的不知道为什么)在没有导出 PATH 的情况下,sites-packages conda env 中的模块无法自动导入。

因此,要解决此问题,您有两个选择:

  • 安装 usingpip install folium和 import folium(不需要通过 conda install 安装),或者

  • conda install 后,运行conda init,关闭终端并打开一个新终端。所以,再次尝试导入。

这里有一些关于在 conda 环境中使用 pip 的提示。

  • 如果有人像我一样使用 miniconda3 来到这里,您将需要将 /miniconda3/pkgs 添加到路径中。 (2认同)

Bis*_*hra 3

您可以在 .py 文件的第一行使用以下内容来引用特定版本的 python 这适用于 python 2.7

#!/usr/bin/env python2.7
Run Code Online (Sandbox Code Playgroud)

这是针对Python 3的

#!/usr/bin/env python3
Run Code Online (Sandbox Code Playgroud)

正如其他用户已经指出的那样,您需要检查您的模块是否包含在系统路径中。使用代码:

import sys
print(sys.path)
Run Code Online (Sandbox Code Playgroud)

如果没有,您可以使用以下命令将其包含在 sys.path 中:

sys.path.append('/path/to/the/folder/of/your/module/file')
Run Code Online (Sandbox Code Playgroud)

或者将其放置在默认的 PYTHONPATH 本身中。

其他很好的答案: https ://stackoverflow.com/a/19305076/5381704