ImportError:“没有名为的模块”。但模块已安装在dist-packages中

时间:2014-08-04 13:00:39

标签: python psycopg2

我正在使用python2.7并尝试导入 psycopg2 等模块。但是当我尝试导入模块时出现以下错误:

import psycopg2
ImportError: No module named psycopg2

当我尝试 pip 安装模块时,它会给我以下消息:

Requirement already satisfied (use --upgrade to upgrade): psycopg2 in /usr/local/lib/python2.7/dist-packages
Cleaning up...

有谁能告诉我我做错了什么?

5 个答案:

答案 0 :(得分:9)

模块是否安装在PYTHONPATH中?

您可以验证运行此命令行:

python -c "import sys; print '/usr/local/lib/python2.7/dist-packages' in sys.path"

答案 1 :(得分:1)

尝试将psycopg2模块(或包,我不知道psycopg2)放在脚本的同一目录中,并尝试导入它。首先在当前目录中导入搜索。

print sys.path

应该按照从第一个到最后一个的顺序显示python解释器的搜索目录。第一个始终是当前目录,然后是PYTHONPATH中的目录,然后是python安装依赖目录。

请参阅: https://docs.python.org/2.7/tutorial/modules.html#the-module-search-path

您可以编辑sys.path以访问您的模块,或将模块放在其中一个目录中。

答案 2 :(得分:1)

确保正确设置了PYTHONPATH和/或PYTHONHOME变量。当Python查找要导入的模块时,将搜索这些环境/命令行变量。因此,如果模块已正确安装,则应确保该位置的引用位于其中一个变量中。

查看以下链接PYTHONHOMEPYTHONPATH

答案 3 :(得分:1)

确保您在已安装包

的相同python版本中运行程序

例如,您已经在python3中安装了软件包,并且您正在使用python2运行代码。这可能是出现错误的情况

答案 4 :(得分:0)

检查软件包的安装位置,对我而言,它位于python 32位文件夹 c:\ program files(x86)\ python37-32 \ lib \ site-packages

问题是我在x64位模式下运行VsCode,并且程序包位于x86文件夹中。

在这里看到如何更改正在使用的解释器-在我的情况下-我需要将其设置为32位Python 3.7.4(x86)(图像来自互联网):

enter image description here