簡體   English   中英

Scrapy 已安裝,但不會從命令行運行

[英]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解決了這個問題。

  1. 創建一個虛擬環境: python3 -m venv env
  2. 激活你的 env : source env/bin/activate
  3. 使用pip install scrapypip install scrapy
  4. 啟動你的爬蟲: 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。

  1. 卸載scrapy。

    sudo pip uninstall scrapy

  2. 使用-H 再次安裝scrapy。

    sudo -H pip install scrapy

  3. 應該可以正常工作。

我有同樣的問題。 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。

有一個問題我找到了答案
我可以看到答案也是這個問題的答案
**

https://stackoverflow.com/a/73619133/18390571

**

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.

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