【问题标题】:Module Not Found in python script在 python 脚本中找不到模块
【发布时间】:2020-01-18 14:14:09
【问题描述】:

我是 python 初学者,我正在关注本教程以获取 webscraper https://hackernoon.com/building-a-web-scraper-from-start-to-finish-bb6b95388184

我在 Windows 10 上,设置了一个 venv,使用 pip 激活并安装了 2 个模块,并将我的脚本移动到 Scripts 文件夹中(据我了解,这相当于 linux 上的 /bin/ 文件夹安装)。这些模块是bs4requests。我在我的 venv 的 /Lib/ 文件夹中看到了这两个。我正在使用 atom.io 中的 Atom 编辑器和 Scripts Package 来运行我的脚本。

我的脚本出现“找不到模块”错误。相关sn-p如下:

scraper.py
from bs4 import BeautifulSoup
import requests

我在两个导入中都收到错误,表明我的项目/导入设置不正确。我的脚本中没有 shebang 行,我怀疑这是问题所在。

我的项目结构如下:

\ScraperProject
 |-\ScrEnv
  |-\Include
  |-\Lib
   |-\site-packages
    |-\bs4
    |-\requests
  |-\Scripts
   |-scraper.py
  |-pyvenv.cfg

在 Windows 环境中将这些模块导入脚本的正确方法是什么?

【问题讨论】:

  • 你是否正确激活了虚拟环境?
  • 我运行了python -m venv ScrEnv,然后使用ScrEnv\Scripts\activate.bat 激活它,接着是pip install bs4pip install requests,同时激活了新的venv。我没有 python3 可执行文件,但安装了 Python 3.7.4,并且使用上述命令进行设置没有错误。

标签: python windows import atom-editor


【解决方案1】:

您在 venv 中使用什么 python 版本?也许尝试卸载那些更新 pip 并重新安装它们,确保使用 pyhton3 安装它们

【讨论】:

  • 我已经在 Windows 上安装了当前版本的 Python,python 3.7.4。我将尝试再次运行 venv 设置,确保指定 python3 并让你知道它是如何进行的。
  • windows 安装只在 C:\Users\rivards\AppData\Local\Programs\Python\Python37 文件夹中创建一个python.exe,它被添加到我的PATH 环境变量中。我使用python -m venv ScrEnv 设置它,然后使用ScrEnv\Scripts\activate.bat 激活它,然后在激活新的venv 时使用pip install bs4pip install requests。我确实收到有关现有 pip 较新版本的警告,它位于 pip 19.0.3 上,并且存在 19.2.3。我没有升级它。仍然出现同样的错误。
【解决方案2】:

我的问题与从 Atom 编辑器运行它有关,这是我以前没有考虑过的。它从我的 PATH 变量中调用 python 可执行文件,而不是我的 venv 中的那个。从 cmd 窗口运行脚本并使用我的项目文件夹/venv 中的python 调用它时,它按预期运行。了解如何配置 Atom 以使用 venv 可执行文件。非常感谢您的关注和帮助!

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-03-19
  • 1970-01-01
  • 1970-01-01
  • 2022-07-21
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
相关资源
最近更新 更多