PyCharm无法识别已安装的模块

50 人关注

我在Mac上使用'requests'模块时遇到了麻烦。我使用python34,我通过pip安装了'requests'模块。我可以通过再次运行安装来验证这一点,它会显示模块已经安装。

15:49:29|mymac [~]:pip install requests
Requirement already satisfied (use --upgrade to upgrade): requests in /opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages

尽管我可以通过交互式Python解释器导入'requests'模块,但试图在PyCharm中执行'import requests'却产生了错误'没有名为requests的模块'。我检查了我的PyCharm Python解释器设置,(我相信)它被设置为与我的环境中使用的python34相同。然而,我在PyCharm中也没有看到'requests'模块。

很明显,我在这里错过了什么。你们能告诉我应该去哪里找,或者我应该怎么做才能让这个模块工作吗?我的印象是,当我在我的环境中通过管道安装模块时,PyCharm会检测到这些变化。然而,我这边似乎有什么东西被破坏了 ...

1 个评论
如果你在使用pip install -e .安装时遇到问题,请参见。 stackoverflow.com/a/73418320/1601580 或者,如果语言服务器没有为你在意识形态中正确划线。
python
pip
pycharm
anaconda
virtualenv
Matthew Lowe
Matthew Lowe
发布于 2015-07-06
25 个回答
user7650698
user7650698
发布于 2020-11-18
已采纳
0 人赞同

如果你使用的是PyCharms CE(社区版),那么请点击。

File->Default Settings->Project Interpretor

看到底部的+号,点击它。它将打开另一个对话框,里面有大量的模块可用。选择你的软件包(例如request),PyCharm将完成剩下的工作。

有时那个加号不能安装软件包,然后我通过pip安装,但Pycharm看不到这个,该怎么办呢?
这个答案没有解决问题中的问题。
Todor Minakov
Todor Minakov
发布于 2020-11-18
0 人赞同

在我的例子中,使用预先存在的virtualenv在编辑器中不起作用--所有的模块都被标记为未解决的引用(运行自然可以,因为这是在编辑器的配置之外,只是运行一个外部进程(对于调试来说不是那么容易))。
结果发现PyCharm并没有把 场地包装 目录......修复方法是手动添加它。

Open File -> Settings -> Project Interpreter, pick "Show All..." (to edit the config) (1), pick your interpreter (2), and click "Show paths of selected interpreter" (3).

In that screen, manually add the "场地包装" directory of the virtual environment (4) (I've added the "Lib" also, for a good measure); once done and saved, they will turn up in the interpreter paths.

另一件无伤大雅的事情是在解释器的编辑框中选择 "将此虚拟环境与当前项目相关联"。

这正是我在通过自制的Python版本升级后不得不重置我的虚拟环境后需要解决的问题。
Ketav Sharma
Ketav Sharma
发布于 2020-11-18
0 人赞同

打开你的pyCharm的Python控制台。点击重新运行。 它将在第一行显示如下内容

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Applications/PyCharm.app/Contents/helpers/pydev/pydevconsole.py 52631 52632

在这种情况下,pyCharm使用的是以下解释器

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 

现在启动控制台并运行以下命令

sudo /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 -m pip install <name of the package>

这应该会安装你的软件包 :)

whiletrue
whiletrue
发布于 2020-11-18
0 人赞同

当你使用的软件包是在环境之外安装的(例如Anaconda或virtualenv),就会出现这个问题。为了让PyCharm识别在你的特定环境之外安装的软件包,执行以下步骤。

Go to

Preferences -> Project -> Project Interpreter -> 3 dots -> Show All -> Select relevant interpreter -> click on tree icon Show paths for the selected interpreter

现在检查有哪些路径可用,并将指向环境外的软件包安装目录的路径添加到解释器路径中。

要找到一个包的位置,请使用。

$ pip show gym
Name: gym
Version: 0.13.0
Summary: The OpenAI Gym: A toolkit for developing and comparing your reinforcement learning agents.
Home-page: https://github.com/openai/gym
Author: OpenAI
Author-email: gym@openai.com
License: UNKNOWN
Location: /usr/local/lib/python3.7/site-packages

添加在地点到解释器的路径,这里

/usr/local/lib/python3.7/Site-packages

然后,让索引完成,或许另外重新打开你的项目。

虽然违反了Stack Overflow的规定,但我还是要强调,你所提供的答案对我帮助很大。我在屏幕前卡了4个小时,从一个问题跳到另一个问题。你的解决方案对我来说非常有效
Really helpful! By the way, in PyCharm CE 2020.2 the Go to step needs to be updated to <code>Preferences</code> -> <code>Project</code> -> <code>Python Interpreter</code> -> <code>gear wheel</code> -> <code>Show All</code> -> <code>Select relevant interpreter</code> -> click on tree icon (Show paths for the selected interpreter)
当我点击树形图标然后添加时,我得到一个查找器窗口,没有显示任何隐藏的文件,所以我无法添加一个路径。 你是如何添加路径的?
NightFury
NightFury
发布于 2020-11-18
0 人赞同

Pycharm无法识别已安装的本地模块,因为选择的python解释器是错误的。它应该是你的pip包安装的地方,即虚拟环境。

我在Windows中通过pip安装了软件包。在Pycharm中,既没有检测到它们,也没有显示任何其他的Python解释器(我的系统上只安装了python 3.6)。

我重新启动了IDE。现在我能够看到在我的虚拟环境中创建的python解释器。选择那个Python解释器,你的所有软件包都会被显示和检测出来。享受吧!

0 人赞同

使用双python 2.7 3.4 ,默认为 2.7 ,我一直使用pip3来安装 3.4 解释器的模块,使用 pip 来安装 2.7 解释器的模块。

Try this:

pip3 install requests

这实际上对我很有帮助。我现在使用 pip3 而不是 pip ,PyCharm (在Python3.x上)正在升级并自行添加项目解释器。谢谢。
One should specify the interpreter explicitly: python3 -m pip install requests .
Neeraj Aggarwal
Neeraj Aggarwal
发布于 2020-11-18
0 人赞同

这是因为你在创建你的项目时没有选择两个选项:- ** 继承全局网站包 **让所有项目都可用 现在你需要创建一个新的项目,在选择项目解释器时不要忘记勾选这两个选项。

David Lopez
David Lopez
发布于 2020-11-18
0 人赞同

The solution is easy (PyCharm 2021.2.3 Community Edition). I'm on Windows but the user interface should be the same. In the project tree, open External libraries > Python interpreter > venv > pyvenv.cfg. Then change:

include-system-site-packages = false
include-system-site-packages = true
    
Myralyn
Myralyn
发布于 2020-11-18
0 人赞同
  • If you go to pycharm project interpreter -> clicked on one of the installed packages then hover -> you will see where pycharm is installing the packages. This is where you are supposed to have your package installed.

  • 现在,如果你做了 sudo -H pip3 install <package> pip3会把它安装到不同的目录下,也就是 /usr/local/lib/site-packages

  • 因为它与 pycharm 所知道的目录不同,所以你的软件包没有显示在 pycharm 中。

    Solution: just install the package using pycharm by going to File->Settings->Project->Project Interpreter -> click on (+) and search the package you want to install and just click ok.

    -> you will be prompted package successfully installed and you will see it pycharm .

    gust
    但是pycharm不能看到/usr/local,不是吗?
    Beatrix Kidco
    Beatrix Kidco
    发布于 2020-11-18
    0 人赞同

    这让我也很头疼,结果发现,我唯一需要做的就是重新启动Pycharm。有时在你安装了pip之后,你无法将其加载到你的项目中,即使pip在你的设置中显示已安装。遗憾的是。

    VijayKP
    VijayKP
    发布于 2020-11-18
    0 人赞同

    我在使用Virtualenv创建项目时遇到这个问题。

    Neeraj Aggarwal建议的解决方案对我有用。但是,如果你不想创建一个新的项目,那么以下方法可以解决这个问题。

  • Close the project
  • Find the file <Your Project Folder>/venv/pyvenv.cfg
  • Open this file with any text editor
  • Set the include-system-site-packages = true
  • Save it
  • Open the project
  • Andreas
    Andreas
    发布于 2020-11-18
    0 人赞同

    For 蟒蛇 :

    Start 蟒蛇 Navigator -> Enviroments -> "Your_Enviroment" -> Update Index -> Restart IDE.

    Solved it for me.

    BilalRasheed
    BilalRasheed
    发布于 2020-11-18
    0 人赞同

    如果有人面临同样的问题,即他/她安装了Python软件包,但PyCharm IDE没有显示这些软件包,那么请按以下步骤操作。

  • Go to the project in the left side of the PyCharm IDE then
  • Click on the venv library then
  • Open the pyvenv.cfg file in any editor then
  • Change this piece of code (include-system-site-packages = flase) from false to true
  • Then save it and close it and also close then pycharm then
  • Open PyCharm again and your problem is solved. Thanks
  • DialFrost
    DialFrost
    发布于 2020-11-18
    0 人赞同

    有些人在网上报告了这个问题,但似乎没有回应。可能的解决方案。

  • downgrade your PyCharm to version 2020.2.4.
  • 在左边的窗格中,你应该定义你的代码的根目录是哪里。进入相关的目录(在左侧窗格),右击鼠标,在底部你可以将目录标记为,然后选择 "源代码"。 Source

  • Marking the src folder as source's root
  • see File | Settings ( Preferences on Mac) | Editor | File Types . Look for your file name mapped to the Text type or to the 按内容自动检测文件类型 类型。删除不正确的映射,就能解决这个问题。如果你在IDE设置中仍然找不到错误的映射,请在 options/filetypes.xml 文件中找到该文件。 配置目录 .关闭IDE,编辑该文件以删除不正确的映射,或删除该文件以将所有文件类型重置为默认值。

  • Reimport all modules again, but this time select an option to download all sources/dependencies before confirming and restarting PyCharm
  • File | Manage IDE Settings | Restore Default Settings
  • 我如何进行降级? 我建议你在这里公布你的答案。 stackoverflow.com/questions/73339614/... 我们在那里进行讨论。
    例如: pip install -e ~/ultimate-utils/`,我遇到的问题是可编辑的安装(这是一个新问题,我以这种方式使用pycharm多年,没有问题)。
    CristiFati
    CristiFati
    发布于 2020-11-18
    0 人赞同

    在进一步讨论之前,我想指出如何配置一个 Python interpreter in 魅力 :
    [SO]:如何使用 "可嵌入的压缩文件 "来安装Python (@CristiFati 的答案) .虽然这个问题是为 Win ,并有一些特殊性,配置 魅力 是足够通用的,应该适用于任何情况(稍作修改)。

    这种行为有多种可能的原因。

    1. Python instance mismatch

  • 发生在有多个 Python 实例(已安装。 VEnvs , 康达 ,自定义构建,......)在一台机器上。用户认为他们在使用一个特定的实例(有一组属性(已安装的包)),但事实上他们在使用另一个实例(有不同的属性),因此造成了混乱。当两个实例具有相同的版本(以及某种程度上类似的位置)时,就更难弄清楚事情了。

  • 发生的原因主要是环境配置(无论哪条路径都是1 st in ${PATH} , 别名 es (on Nix ), ...)

  • It's not 魅力 specific (意思是说,它比较通用,也发生在它之外),但一个典型的 魅力 相关的例子是不同的控制台解释器和项目解释器,导致了混淆。

  • The fix is to 指定完整的路径 (和 关注他们 ) when using tools like Python , PIP , .... Check [SO]:如何在Windows 10上为特定的Python版本安装软件包? (@CristiFati的回答) 欲了解更多详情

  • 这正是这个问题存在的原因。有2 Python versions involved:

  • Project interpreter: /Library/Frameworks/Python.framework/Versions/3.4

  • 具备以下条件的口译员 Requests module: /opt/local /Library/Frameworks/Python.framework/Versions/3.4

    好吧,假设这两条路没有某种程度上的联系( SymLink 报道),但在最新的 OSX 我曾有机会检查过的版本( 卡塔利娜 , Big Sur , Monterey ) 这种情况不会发生(默认情况下)。

    2. Python 's module search mechanism misunderstanding

  • 根据 [Python.Docs]:模块 - 模块搜索路径 :

    当一个名为 垃圾邮件 被导入,解释器首先搜索具有该名称的内置模块。这些模块名称列在 sys.builtin_module_names .如果没有找到,它将在变量 spam.py 给出的目录列表中搜索一个名为 spam.py 的文件。 sys.path . sys.path 是从这些位置初始化的。

  • 包含输入脚本的目录(如果没有指定文件,则为当前目录)。

  • 霹雳火 (一个目录名称的列表,其语法与shell变量PATH相同)。

  • 依赖于安装的默认(按惯例包括一个 site-packages 目录,由 site module).

    一个模块可能位于当前的 dir ,或将其路径添加到 ${霹雳火} .这可能会欺骗用户,使他们相信该模块实际上已经安装在当前的 Python 实例('s 场地包装 ). But, when running the current Python 的实例是由一个不同的 dir (or with different ${霹雳火} )的模块将被遗失,产生许多令人头痛的问题

  • 如需修复,请查看 [SO]: How 魅力 imports differently than system command prompt (Windows) (@CristiFati's answer)

    3. A 魅力 bug

  • 可能性不大,但有可能发生。一个例子(与本问题无关)。 [SO]: 魅力 2019.2 not showing Traceback on Exception (@CristiFati's answer)

  • 要解决这个问题,请遵循上述选项之一 URL

    4. A glitch

  • 不太可能,但还是要提一下。由于某种原因( e.g. : HW / SW 故障),系统最终处于不一致的状态,产生了各种奇怪的行为

  • Possible fixes:

  • 重新启动 魅力

  • 重新启动the machine

  • 重新创建项目(删除 .想法 dir from the project)

  • Reset 魅力 settings: from menu select File -> Manage IDE Settings -> Restore Default Settings... . Check [JetBrains]: Configuring 魅力 settings or [JetBrains.IntelliJ-Support]:改变用于配置、插件和缓存存储的IDE默认目录 欲了解更多详情

  • 重新安装 魅力

    不用说,最后2个选项 只应作为最后的手段来尝试 ,而且只能由专家来做,因为他们可能会搞砸其他项目,甚至不能解决问题。

    与问题不大相关,但发布了一个 魅力 前段时间的相关调查。 [SO]: Run / Debug a Django application's UnitTests from the mouse right click context menu in 魅力 Community Edition? .

  • atreyHazelHispanic
    atreyHazelHispanic
    发布于 2020-11-18
    0 人赞同

    在管道安装了我需要的一切之后。我去找解释器,把它重新指向它已经在的地方。 我的情况是:python3.6在/anaconda3/bin/python,使用virtualenv...

    此外,在我点击加号 "+"来安装一个新的软件包之前。我不得不取消选择它右边的conda图标。看上去应该是相反的,但只有在这时,它才通过查询识别出我拥有/需要的软件包。

    Ripley
    Ripley
    发布于 2020-11-18
    0 人赞同

    在我的例子中,软件包是通过setup.py+easy_install安装的,它们最终出现在site_package dir的*.egg目录中,这可以被python识别,但不能被pycharm识别。

    我把它们都删除了,然后用pip install重新安装,之后就能用了,幸运的是,我正在做的项目出现了一个requirements.txt文件,所以它的命令是。

    pip install -r ./requirement.txt

    madamis confidential
    madamis confidential
    发布于 2020-11-18
    0 人赞同

    在windows系统中,我必须先cd到venv文件夹,然后cd到scripts文件夹,然后pip安装模块开始工作。

    cd venv
    cd scripts
    pip install module
        
    Dave Wolfe
    Dave Wolfe
    发布于 2020-11-18
    0 人赞同

    我刚刚在一个全新的安装/项目中遇到了这个问题,但我使用的是 IntelliJ IDEA 的 Python 插件。它和PyCharm本质上是一样的,但项目的设置有些不同。对我来说,项目指向了正确的Python虚拟环境,但甚至连内置模块都没有被识别。

    It turns out the SDK classpath was empty. I added paths for venv/lib/python3.8 and venv/lib/python3.8/site-packages and the issue was resolved. File->Project Structure and under Platform Settings, click SDKs, select your Python SDK, and make sure the class paths are there.

    Siddy Hacks
    Siddy Hacks
    发布于 2020-11-18
    0 人赞同
    pip install --user discord
    

    上述命令解决了我的问题。只需使用"--用户 "标志

    blueblob26
    blueblob26
    发布于 2020-11-18
    0 人赞同

    我通过直接安装到解释器上解决了我的特殊问题。进入设置,点击正在使用的解释器下面的 "+",然后搜索软件包并安装。我相信我之所以有这个问题,首先是因为我没有用我的Venv正确地设置我的解释器(不完全确定,但这解决了问题)。

    我在djangorestframework-simplejwt方面遇到了问题,因为它是我在开始当前项目之前没有安装到这个解释器上的第一个包,但对于任何其他没有显示为导入的包都应该是有效的。重申一下,我认为这是一个变通办法,并不能解决造成这种情况的设置问题。

    Mukul Vyas
    Mukul Vyas
    发布于 2020-11-18
    0 人赞同

    而不是运行 pip安装 in the terminal -> local use terminal -> command prompt

    见下面的图片

    语音提示图像

    GTK Rex
    GTK Rex
    发布于 2020-11-18
    0 人赞同

    --WINDOWS-- 如果使用Pycharm GUI软件包安装程序可以为你的虚拟环境安装软件包,但你不能在终端中做同样的事情。

    这是因为你没有在你的终端中设置虚拟环境,相反,你的终端使用Power Shell,它不使用你的虚拟环境。

    如图所示,在你的命令行前应该有(venv),而不是(PS)。

    如果你有(PS),这意味着你的终端正在使用Power Shell而不是cmd