[英]Scrapy installed, but won't run from the command line
我正在嘗試在 ubuntu 機器上使用 scrapy 運行我在 python 中編寫的抓取程序。 Scrapy 已安裝。 我可以導入到 python 沒問題,當嘗試pip install scrapy
我得到
已滿足要求(使用 --upgrade 升級):/system/linux/lib/python2.7/dist-packages 中的 scrapy
當我嘗試從命令運行 scrapy 時,使用scrapy crawl...
例如,我明白了。
當前未安裝程序“scrapy”。
這里發生了什么? 符號鏈接是否混亂? 以及如何解決它的任何想法?
如果沒有 sudo,pip 會安裝到 $HOME/.local/bin、$HOME/.local/lib 等中。 將以下行添加到您的 ~/.bashrc 或 ~/.profile (或其他 shell 的適當位置):
export PATH="${PATH}:${HOME}/.local/bin"
然后打開一個新終端或重新加載 .bashrc,它應該會找到命令。
我有同樣的錯誤。 在虛擬環境中運行scrapy解決了這個問題。
python3 -m venv env
source env/bin/activate
pip install scrapy
: pip install scrapy
scrapy crawl your_project_name_here
例如我的項目名稱是kitten
,我只是在第 4 步中進行了以下scrapy crawl kitten
注意:我在運行 Python 3+ 的 Mac OS 上執行此操作
我嘗試了以下sudo pip install scrapy
,但是 Ubuntu 16.04 立即建議它已經安裝。 我必須首先使用sudo pip uninstall scrapy
,然后使用sudo pip install scrapy
才能成功安裝。 現在你應該可以成功運行scrapy了。
如果您僅在 virtualenv 中安裝 scrapy,則您的系統 bin 目錄中不存在 scrapy 命令。 你可以這樣檢查:
$ which scrapy
對我來說它在(因為我 sudo 安裝了它):
/usr/local/bin/scrapy
你可以嘗試你的scrapy的完整路徑。 例如,如果它安裝在 virtualenv 中:
(env) linux@hero:~dev/myscrapy$ python env/bin/scrapy
我遇到了同樣的問題並使用以下方法解決了。 我認為當前用戶無法使用scrapy。
卸載scrapy。
sudo pip uninstall scrapy
使用-H 再次安裝scrapy。
sudo -H pip install scrapy
我有同樣的問題。 sudo pip install scrapy
解決了我的問題,雖然我不知道為什么必須使用sudo
。
確保您激活“Scripts\\activate.bat”命令
一個很好的解決方法是使用 pyenv 來管理 python 版本。
$ brew install pyenv
# Any version 3.6 or above
$ pyenv install 3.7.3
$ pyenv global 3.7.3
# Update Environment to reflect correct python version controlled by pyenv
$ echo -e '\nif command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
# Refresh Terminal
# or source $~/.zshrc
$ exec $0
$ which python
/Users/mbbroberg/.pyenv/shims/python
$ python -V
Python 3.7.3
# Install scrapy
$ pip install scrapy
$ scrapy --version
參考:
sudo pip install scrapy ,你應該添加sudo。
scrapy crawl 不是你啟動一個scrapy 程序的方式。 你開始做
scrapy startproject myprojectname
然后實際啟動一個scrapy程序進入myprojectname/spiders,然后你可以調用
scrapy crawl "yourspidername"
要讓scrapy 創建一個蜘蛛,你可以 cd 進入你的目錄並執行
scrapy genspider mydomain mydomain.com
此外,您可以通過執行來測試您的scrapy是否真的有效
scrapy shell "google.com"
所有這些信息都可以在他們的文檔中找到。 如果發生了什么事,那么您實際上已經安裝了scrapy,並且您正在爬行(哈哈)通往成功的道路!
PS Scrapy 在 Python3 上運行不佳,因此如果您在 Python3 上運行並且仍然遇到問題,請使用 Python 2.7!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.