簡體   English   中英

ModuleNotFoundError(對於 bs4),當使用命令行運行在 PyCharm 上創建的 Python 程序時?

[英]ModuleNotFoundError (for bs4), when using command line to run Python program created on PyCharm?

我正在學習 Automate the Boring Stuff 課程,該課程經常使用命令行和批處理文件來快速運行 Python 程序。 我正在跟隨的當前示例 (searchpypi) 需要安裝“bs4”模塊。 我安裝了它,首先右鍵單擊模塊名稱並單擊紅色燈泡,然后單擊安裝“bs4”。 當我在 PyCharm 中運行代碼時,沒有任何問題。

但是,當我使用命令行運行包含程序路徑的.bat 文件時,我收到以下消息:ModuleNotFoundError: No module named 'bs4'

我四處搜索,其中一個建議是通過轉到 PyCharm 的文件解釋器並添加包來安裝 bs4。 但這導致命令行出現相同的錯誤。 然后我嘗試使用終端,並運行這一行:python -m pip install bs4。 這導致了同樣的錯誤。

這是因為我使用了虛擬環境嗎? 與系統范圍的 python 安裝有關嗎? 我真的不知道。 任何輸入將不勝感激!

這顯示了 bs4 安裝的狀態,當我使用 PyCharm 的終端時。

編輯:這是 PyCharm 中的代碼。

    #!python3
#searchpypi - Opens several search results

import requests, webbrowser, sys, bs4
print('searching...')
response = requests.get(
    'https://google.com/search?q=',
    'https://pypi.org/search/?q='
    + ' '.join(sys.argv[1:])
    )

response.raise_for_status()
contents = response.text
soup = bs4.BeautifulSoup(contents,'html.parser')
all_a_tags = soup.select('.package-snippet')
numOpen = min(5, len(all_a_tags))
for i in range(numOpen):
    URLToOpen = 'https://pypi.org' + all_a_tags[i].get('href')
    print('Opening', URLToOpen)
    webbrowser.open(URLToOpen)

這是我的批處理文件中的代碼。 當我使用 Windows Run 並鍵入批處理文件的名稱,然后鍵入關鍵字時,它會打開命令提示符並運行 PyCharm 代碼。

@py C:\Users\USERNAME\PycharmProjects\chapter12\searchpypi\main.py %*

@pause

Win+R -> cmd -> Enter -> python -m pip install beautifulsoup4應該為你的“系統范圍”python 安裝漂亮的湯。

您已經在您的 venv 中安裝了 beautifulsoup4,因此您可以使用它:

# your .bat file
@echo off
cmd /k "cd /d C:\Users\USERNAME\PycharmProjects\chapter12\searchpypi2\venv\Scripts & activate & cd /d    C:\Users\USERNAME\PycharmProjects\chapter12\searchpypi2 & python main.py"

或者您可以使用 PyCharm 運行您的程序,因此您需要配置您的 Python 解釋器。

PS我注意到你的項目在'searchpypi2'文件夾中,但你的.bat腳本在'searchpypi'文件夾中運行程序。 情況可能是這樣。

在使用“自動化無聊的東西”中的練習時,我也被難住了。 我在 Pi4 上使用它,標准操作系統安裝,但我的問題與上面的不同。

該程序將運行,但不會打開任何窗口。 使用調試器我發現 numOpen 變量始終為 0,這意味着它沒有找到任何正確的標簽。

我很快意識到搜索詞將轉到沒有 package-snippet 標簽的 Google。 因此,如果您刪除以下代碼:

'https://google.com/search?q=',

該程序運行良好,無論如何它對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM