我格式化了 Macbook Pro,并从头开始重新安装了所有内容(BigSur OS)。现在,我陷入了 bash 无法正确运行模块的困境。仅供参考,如果我在 zsh 中运行它,执行效果很好。
import os
import time
# importing webdriver from selenium
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
一个示例错误是:
Traceback (most recent call last):
File "/Users/gel/Documents/pytest/prop-loop.py", line 5, in <module>
from selenium import webdriver
ModuleNotFoundError: No module named 'selenium'
[Finished in 0.1s with exit code 1]
[shell_cmd: python -u "/Users/gel/Documents/pytest/prop-loop.py"]
Selenium 已安装。正如我所说,在 bash 中运行或直接从 Sublime Text 构建时会发生这种情况。
有什么想法吗?
此错误“ModuleNotFoundError:没有名为“selenium”的模块”即使在安装了 selenium 后仍会在 bash 中出现,这意味着的 Python 环境无法访问该模块。以下是在 bash 中可能遇到此错误的一些原因以及如何解决它们:
1. Python 版本和虚拟环境:
- 在不同 shell 中使用不同的 Python 版本: 可能在 zsh 和 bash 中使用不同的 Python 版本,并且 selenium 仅安装在与 zsh 关联的版本中。
-
虚拟环境: 可能在 zsh 中创建了一个虚拟环境,并且已在此环境中安装了 selenium,但没有在 bash 中激活该环境。
-
要检查此项: 在 zsh 和 bash 中运行
which python
,以查看它们是否指向同一可执行文件。 -
解决方案:
在的 bash shell 中使用与 zsh 相同的 Python 版本或虚拟环境。如果要在 bash 中使用与 zsh 相同的虚拟环境,请使用
source /path/to/your/virtualenv/bin/activate
命令激活它。
2. PYTHONPATH:
-
PYTHONPATH 设置不正确: 此环境变量告诉 Python 在哪里查找模块。如果未正确设置,Python 将无法找到的 selenium 安装,即使它位于系统上的标准位置。
-
要检查此项: 在 bash 中运行
echo $PYTHONPATH
。 -
解决方案:
如果 PYTHONPATH 不包含 selenium 所在的目录,则需要将其添加到其中。可以通过编辑
.bashrc
或.bash_profile
文件并添加以下行(用 selenium 安装目录的实际路径替换<your_selenium_directory>
)来实现此目的:bash export PYTHONPATH="${PYTHONPATH}:<your_selenium_directory>"
3. Selenium 安装位置:
-
安装在错误的位置: 可能将 selenium 安装在 Python 环境无法访问的位置。
-
解决方案:
-
使用 pip:
最简单的方法是使用 pip 包管理器。打开 bash 并运行:
bash pip install --user selenium
这会将 selenium 安装到用户目录中,该目录应该在的 Python 路径中。 - 重新安装: 如果上述方法不起作用,请尝试完全卸载并重新安装 selenium。
-
使用 pip:
最简单的方法是使用 pip 包管理器。打开 bash 并运行:
4. 缓存问题:
-
Bash 缓存问题: 在极少数情况下,bash 可能存在缓存问题,从而阻止它识别新安装的模块。
-
解决方案: 关闭并重新打开的终端,或运行
source ~/.bashrc
以重新加载的 bash 配置文件。
调试步骤:
- 检查 Python 版本和虚拟环境。
-
使用
pip show selenium
验证 selenium 的安装位置。 -
在的
.bashrc
或.bash_profile
文件中临时设置 PYTHONPATH。 -
如果一切均失败,请尝试在用户级别重新安装
pip install --user selenium
。
通过遵循这些步骤,应该能够解决问题并在 bash 中成功导入 selenium。
标签:python,python-3.x From: 66129112