繁体   English   中英

导入错误:“没有命名模块”。 但是模块已经安装在 dist-packages 中

[英]ImportError: “No modules named”. But modules already installed in dist-packages

我正在使用 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...

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

该模块是否安装在您的 PYTHONPATH 中?

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

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

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

import sys
print sys.path

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

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

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

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

查看这些链接PYTHONHOMEPYTHONPATH

确保您在安装软件包的同一 python 版本中运行您的程序

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

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

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

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

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM