Py学习  »  Python

如果从cmd或.py文件运行,则包不起作用…python

Scooterz Giovanni • 4 年前 • 157 次点击  

我注意到python(windows)有一个问题。如果我创建了一个程序(甚至很简单)并导入了一个包,那么如果我从python shell运行它,它就会工作 但如果我从 .py 文件或 cmd (C:\Python34\program.py) 没有。

明确:

程序1

from selenium import webdriver
print("have a good day")

程序2

import pyautogui
print("be happy")
pyautogui.moveT(300,300)

错误程序1

Traceback (most recent calls)
 File"C:\Python34\program.py" line 1, in <module>
  from selenium import webdriver
ModuleNotFoundError: No module named 'selenium'

错误程序2

Traceback (most recent calls)
 File"C:\Python34\program.py" line 1, in <module>
  import pyautogui
ModuleNotFoundError: No module named 'pyautogui'

因此,如果我不从shell运行它,我不明白为什么它找不到/识别模块。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43432
 
157 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Dhruv Joshi
Reply   •   1 楼
Dhruv Joshi    5 年前

这个 ModuleNotFoundError 声明模块“selenium”和“pyautogui”不可用于python解释器(调用该解释器来执行脚本)。因为您已经尝试从shell解释器中执行相同的代码,所以问题可能是在windows系统上安装了多个python。

如果系统中安装了多个版本的python,则 您尝试安装的软件包可能使用 pip 命令最终不会驻留在python版本中 你以为他们会进来。

在你做任何事之前, 检查哪个python版本 匹普 实用程序是指:

$ pip --version pip <ver> from path/to/pip (python <version>)

如果上面结果末尾的python版本是2.x,则意味着您尝试使用 pip install selenium 最终进入了Python2环境。

但是,当您尝试执行python脚本时,将调用3.x解释器。在这种情况下,模块将不可用。这就是你能做的:

使用pip3命令安装包:

pip3 install selenium

这将安装 或任何其他包,仅在Python3安装中。现在您应该能够在没有任何错误的情况下执行脚本了。同样的道理 皮亚托基 .

另外,请注意 在Microsoft Windows下, python 命令通常调用Python2外壳解释器 . 在这种情况下,您可以轻松地运行代码(这需要selenium),而不会出现任何错误。还有一个实用程序叫做 py ,在窗户下面。你可以了解更多 here

编辑: 不是预安装的包