已安装Scrapy,但不会从命令行运行

时间:2016-06-10 21:12:08

标签: python scrapy

我正在尝试运行我在python中使用scrapy在ubuntu机器上编写的抓取程序。 Scrapy已安装。我可以导入直到python没问题,当我尝试pip install scrapy时我得到

  

要求已经满足(使用--upgrade升级):/system/linux/lib/python2.7/dist-packages中的scrapy

当我尝试从命令运行scrapy时,例如scrapy crawl ...,我得到了。

  

目前尚未安装“scrapy”程序。

这里发生了什么?符号链接是否搞砸了?关于如何修复它的任何想法?

9 个答案:

答案 0 :(得分:4)

我尝试了以下sudo pip install scrapy,但是Ubuntu 16.04建议它已经安装好了。 我必须首先使用sudo pip uninstall scrapy,然后使用sudo pip install scrapy才能成功安装。 现在你应该能够成功地运行scrapy。

答案 1 :(得分:4)

没有sudo,pip将安装到$ HOME / .local / bin,$ HOME / .local / lib等中。将以下行添加到〜/ .bashrc或〜/ .profile(或其他shell的适当位置)中):

export PATH="${PATH}:${HOME}/.local/bin"

然后打开一个新终端或重新加载.bashrc,它应该找到命令。

答案 2 :(得分:3)

我有同样的错误。在虚拟环境中运行scrapy可以解决此问题。

  1. 创建虚拟环境:python3 -m venv env
  2. 激活您的环境:source env/bin/activate
  3. 使用pip安装Scrapy:pip install scrapy
  4. 启动您的搜寻器:scrapy crawl your_project_name_here

例如,我的项目名称为kitten,我在第4步中做了以下操作 scrapy crawl kitten

注意:我是在运行Python 3+的Mac OS上完成的

答案 3 :(得分:1)

我遇到了同样的问题,并使用以下方法解决了。我认为当前用户无法使用scrapy。

  1. 卸载scrapy。

    sudo pip uninstall scrapy

  2. 使用-H重新安装scrapy。

    sudo -H pip install scrapy

  3. 应该正常工作。

答案 4 :(得分:0)

我有同样的问题。 sudo pip install scrapy解决了我的问题,但我不知道为什么必须使用sudo

答案 5 :(得分:0)

如果仅在virtualenv中安装scrapy,则系统bin目录中不存在scrapy命令。您可以这样检查它:

$ which scrapy

对我来说(因为我在sudo上安装了它):

/usr/local/bin/scrapy

您可以尝试获取完整的路径。 例如,如果它安装在virtualenv中:

(env) linux@hero:~dev/myscrapy$ python env/bin/scrapy

注意: We recommend installing Scrapy inside a virtual environment on all platforms.

答案 6 :(得分:0)

确保您激活的命令是 “脚本\ activate.bat”

答案 7 :(得分:0)

一种变通的好方法是使用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

参考:

答案 8 :(得分:-3)

scrapy crawl不是你开始scrapy程序的方式。你可以通过

开始它
scrapy startproject myprojectname

然后实际启动scrapy程序进入myprojectname / spiders然后你可以调用

scrapy crawl "yourspidername" 

要让scrapy创建一个蜘蛛,你可以cd进你的目录并执行

scrapy genspider mydomain mydomain.com

此外,您可以通过执行

来测试您的scrapy是否真的有效
scrapy shell "google.com"

所有这些信息都可以在他们的Documentation中找到。 如果发生了什么事情,那么你实际上已经安装了scrapy并且你正在爬行(哈哈)你的成功之路!

P.S。 Scrapy在Python3上运行不正常,所以如果你在那里运行但仍然遇到麻烦,请使用Python 2.7!