使用 Python 3.8.8 将 PyAutoGUI 导入 PyCharm 无法正常工作 [关闭]

Posted

技术标签:

【中文标题】使用 Python 3.8.8 将 PyAutoGUI 导入 PyCharm 无法正常工作 [关闭]【英文标题】:Importing PyAutoGUI into PyCharm with Python 3.8.8 just not working [closed] 【发布时间】:2021-11-08 01:28:26 【问题描述】:

我对 python 还很陌生,我想将 autogui 导入 PyCharm。所以我写道: import pyautogui.

当我尝试运行该命令时,我收到消息“ModuleNotFoundError: No module named 'pyautogui'”。

我查了一下,每个人都说“只需在 cmd 中运行 pip install pyautogui”或 pip3 install pyautogui 或类似的东西。但这不是问题(我认为),它已经安装在 C:\Python39\Lib\site-packages 下(每次我仍然运行它,只是为了保存它不起作用)。我发现的下一件事是有人被告知去 PyCharm 中的设置并添加 pyautogui 作为解释器,但是当我尝试这样做时,它就是不显示。

接下来我尝试点击 PyCharm 中的错误并选择“install package pyautogui”,但我得到的只是:

"正在收集包元数据 (current_repodata.json): ...工作中...完成 求解环境:...工作...失败,初始冻结求解。使用灵活的求解重试。 收集包元数据(repodata.json):...工作...完成 求解环境:...工作...失败,初始冻结求解。用灵活的求解重试。

PackagesNotFoundError:当前频道不提供以下软件包:

pyautogui

当前频道:

https://repo.anaconda.com/pkgs/main/win-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/win-64 https://repo.anaconda.com/pkgs/r/noarch https://repo.anaconda.com/pkgs/msys2/win-64 https://repo.anaconda.com/pkgs/msys2/noarch

搜索可能提供您正在使用的 conda 包的替代渠道 寻找,导航到

https://anaconda.org

并使用页面顶部的搜索栏。"

然后我使用 anaconda.org 和 anaconda 提示符再次安装 pyautogui...。

但是,它仍然没有改变。我仍然没有找到任何东西,它仍然无法安装 pyautogui 本身,并出现与上述相同的错误消息。我发现的只是 anaconda 提示告诉我我的 python 版本是 3.8.8,我的命令提示说它是 3.9.6。所以我卸载了 3.9.6 并安装了 3.8.8 并重新安装了 pyautogui,一次使用 cmd 中的 pip 命令,一次使用 anaconda 提示符中的命令。仍然没有任何效果。

是的,我已经将 Anaconda 添加到路径中,因为我在某个地方看到它应该有帮助。好吧,它没有,现在我在这里寻求帮助。

有人知道我做错了什么吗?

【问题讨论】:

您可能安装了两个 Python(即使编号相同),您可能使用一个 Python 安装模块,PyCharm 可能使用其他 Python 运行代码。在 PyChar 设置中,您可以设置项目中使用的 Python 的路径。设置中的 PyCharm 还应该具有为此 Python 安装模块的功能。 pyautogui 不是 Python 解释器,所以不要在 PyCharm 设置中将其设置为解释器。应该有安装模块的功能,你应该在那里 install pyautogui 在 PyCharm 中,您可以运行 import sys ; print( sys.executable ) 以获取用于运行项目的 Python 的完整路径 - 在 Linux 上我得到 /usr/bin/python3.8- 您应该在控制台中使用此路径来安装模块 - 在 Linux 上 @ 987654333@ - 它应该在 Python 中安装 pyautogui,PyCharm 使用它来运行您的代码。 我运行了命令,它返回了 3 件事: 1. 我的项目文件夹中的 python.exe 文件; 2.我的项目文件夹中的main.py和3.python.exe文件再次,两次,相同的路径,相同的一切。就是这样,python.exe。没有 python3.8 或类似的东西。而且我不知道这是否是因为我在 Windows 上,但我也没有得到像 /usr/bin/ 这样的东西,只有文件的路径。另外,path 和 -m 都不被识别为命令,所以我不知道我应该在这里运行什么 在 Windows 上你会得到C:\path\to\python.exe,更重要的是使用这个完整路径在控制台/终端/cmd.exe 中安装模块C:\path\to\python.exe -m pip install pyautogui(不在 python 中)。如果您有两个python.exe,那么这可能意味着两个不同的版本,并且仅使用python.exe -m pip install ... 可能会安装不同的版本。坦率地说,我不明白为什么你的文件夹中有python.exe 【参考方案1】:

所以我自己通过 Ashish 和 furas 留给我的一些小想法自己想通了。

我所做的是将带有pip install pyautogui 的pyautogui 安装到Python 中。更具体地说,它将其下载到C:\Python39\Lib\site-packages。然后,我标记了所有现在安装的文件并复制了它们。

之后,我进入C:\ProgramData\Anaconda3\envs\\[program name]\Lib\site-packages 并将所有已安装的文件粘贴到那里。现在,它正在工作。

如果有人正在阅读:

您的程序不必位于此特定位置。你可以通过在 PyCharm 中运行来找到你的程序的位置:

import sys 
print( sys.executable )

它会打印出你的程序的python.exe 文件,对我来说是C:\ProgramData\Anaconda3\envs\\[program name]\python.exe

是的,它现在可以工作了。

【讨论】:

现在您可以将您的答案标记为已接受,然后您可以对其进行投票。 您应该使用 pip 或您的虚拟环境提供的任何机制进行安装。安装后复制粘贴文件是一个错误,因为某些库可能具有硬编码路径,如果复制粘贴它们会中断。【参考方案2】:

即使在安装所需模块后仍出现此类错误,请检查以下内容:

你的IDE使用的python环境/安装应该和模块安装的环境一致。

否则,将环境更改为Python环境 paste the path to python.exe inside bin folder of your environment

然后再次安装包。

特定于 VS 代码 单击编辑器底部功能区中的python followed by version number or venv并添加解释器的路径或选择您要使用的现有解释器。

To fix failed with initial freeze error,请尝试以下命令,执行成功后可以去重装pyautogui

conda config --set channel_priority false

conda install -c conda-forge pyautogui

【讨论】:

我真的不知道如何卸载 pyautogui,所以我只运行了两个命令,第二个命令告诉我“所有请求的软件包都已安装”。还有,初始的freeze错误还是出现了,需要先在anaconda提示下卸载pyautogui吗? pip uninstall <package_name> 将帮助卸载软件包。我还需要一条信息,尝试在您运行 Python 代码的目录中破坏 pip show pyautogui。请确认是否可以看到包的安装位置等详细信息。 所以我卸载了pyautogui,运行conda config --set channel_priority false,用pip install autogui重新安装,运行cd C:\Users\Jonas\PycharmProjects`, and finally, I ran pip show pyautogui`。我可以确认,它就在那里,所有数据都显示给我。但这并没有改变任何东西,所以现在,我该怎么办? NoModuleFound 错误还在吗? 是的,为什么?【参考方案3】:

如果您安装了两个 Python(即使数量相同),那么您可以使用一个 Python 来安装模块,而 PyCharm 可以使用另一个 Python 来运行代码。但是两个 Python 不共享模块,每个 Python 都必须在自己的文件夹中安装模块。

我不使用 PyCharm,但在 PyCharm 设置中,您可以设置项目中使用的 Python 的路径(在每个项目中,您可能使用不同的 Python)。并且设置中的 PyCharm 也应该具有为此 Python 安装模块的功能。可能它应该显示为选定的 Python 安装的模块,并且应该有图标 gear 来安装其他模块。


其他方法:

在 PyCharm 中你可以运行

import sys 
print( sys.executable )

获取 PyCharm 在您的项目中使用的 Python 的完整路径 - 在 Linux 上我得到 /usr/bin/python3.8 但在 Windows 上你可能会得到 C:\path\to\python.exe - 您可以在控制台/终端/cmd.exe 中使用此路径来安装模块对于这个版本

在 Linux 上看起来像

/usr/bin/python3.8 -m pip install pyautogui

在 Windows 上会是这样的

C:\path\to\python.exe -m pip install pyautogui

它应该在 Python 中安装 pyautogui,PyCharm 使用它来运行您的代码。

【讨论】:

我不认为我有 2 个 python,因为我通过“添加或删除程序”卸载了它,并且从那里一次只安装了一个。另外,我运行了命令并返回了 3 件事,但我已经将结果写为对您其他评论的评论

以上是关于使用 Python 3.8.8 将 PyAutoGUI 导入 PyCharm 无法正常工作 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 R reticulate 安装 gekko 包?

VScode结合OPenCV-pyhton实现视频流人脸检测

在屏幕上定位颜色位置?

计算过滤和分组后的平均值

向 linux 内核 3.8.8 添加系统调用

Moongoose 3.8.8 是不是支持 $position 运算符?