我剛剛在我的 macbook pro(運行 OS 10.13.6 High Sierra)上重新安裝了 python 2.7,因為我無意中刪除了它,沒有意識到它是必需的。我還在同一台電腦上加載了 Python 3.6.8,並且正在研究“自動化無聊的東西”,這需要 Beautiful Soup 來進行網頁抓取。問題是我的終端顯示 python v2.7.15 並正在該庫中的某個位置安裝 BS4,但我需要它來安裝 python v3.6.8。我已使用以下命令將安裝工具更新為最新規範:
python -m pip install --upgrade pip setuptools wheel
如果我python3
在命令列中輸入“”以嘗試訪問 v3.6.8,我會得到:
Python 3.6.8 (v3.6.8:3c6b436a57, Dec 24 2018, 02:04:31)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
之後我輸入的所有內容都會給我一個語法錯誤,或者如果我輸入:
python --version
它返回:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'python' is not defined
當我嘗試將目錄更改為“下載”資料夾時,我得到以下資訊:
>>> cd /Users/User/Downloads
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'cd' is not defined
誰能告訴我命令列的問題是什麼?此外,我現在如何從命令列運行 pip 安裝程式來將 BS4 套件安裝/定向到 python3.6.8 庫?
這可能真的很簡單,但是,我在這裡有點新手......
感謝您的協助。
答案1
如果我在命令列中輸入“python3”以嘗試存取 v3.6.8,我會得到:
Python 3.6.8 (v3.6.8:3c6b436a57, Dec 24 2018, 02:04:31) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information.
之後我輸入的所有內容都會給我一個語法錯誤
那是因為您輸入的命令正在解釋Python,不是你的終端。若要返回正常終端,請輸入quit()
。
我現在如何從命令列運行 pip 安裝程式以將 BS4 包安裝/定向到 python3.6.8 庫
看來當你重新安裝Python 2.7時,它的目錄被加到你的小路 環境變數在 Python 3 目錄之前。當您進入python
終端機時,它會python
在文件中找到名為第一個的可執行文件目前工作目錄,然後遍歷您的每個目錄小路。它執行第一個匹配並停止查找。
我建議編輯你的小路因此 Python 3 目錄位於 Python 2 目錄之前。看在Mac上編輯PATH變數。
我運行的是 Windows,而 Python 3 的 PATH 中有這兩個目錄:
C:\Users\Admin\AppData\Local\Programs\Python\Python37\
C:\Users\Admin\AppData\Local\Programs\Python\Python37\Scripts
我需要兩個,因為python
可執行檔位於第一個目錄中,而pip
可執行檔位於第二個目錄中。
或者,將終端機中的目錄變更為pip
可執行檔所在的位置:cd [...]\Python\Python37\Scripts
。
現在您可以安裝 Beautiful Soup 4 for Python 3:pip install beautifulsoup4
答案2
謝謝戈登。
這是因為您輸入的命令是由 Python 解釋的,而不是您的終端。若要返回正常終端,請輸入 quit()
是的,這對我來說是一個明顯的錯誤。謝謝你讓我直截了當。
重置 PATH 以優先考慮 Python 3 而不是 2 的問題需要進行一些研究;我發現連結的帖子有點令人困惑,但這只是意味著我必須閱讀一些內容。
對我有用的只是輸入pip3 install beautifulsoup4
我在尋找 Python 3.6 的檔案路徑時發現了這一點,並偶然發現了該版本應用程式資料夾中的 readme.txt。以機智:
Python 3 和 Python 2 共存:Python.org Python 3.6 和 2.7.x 版本都可以安裝在您的系統上,不會發生衝突。 Python 3 的指令名稱包含 3、python3(或 pip3.6)、idle3(或idle3.6)、pip3(或 pip3.6)等。 7或python),idle2(或idle2.7或idle)等
就是這樣。
但感謝您的幫忙。可以肯定的是,你把我帶向了正確的方向。