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

ekr*_*ose 4 python scrapy

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

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

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

当前未安装程序“ scrapy”。

这里发生了什么?符号链接是否混乱?关于如何解决它的任何想法?

Ada*_*amF 12

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

export PATH="${PATH}:${HOME}/.local/bin"
Run Code Online (Sandbox Code Playgroud)

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

  • 这只是临时修复,您应该在 bashrc `nano ~/.bashrc` 中添加此行,然后添加此行 `export PATH="${PATH}:${HOME}/.local/bin"` 最后重新启动 bashrc `source 〜/ .bashrc` (2认同)

小智 5

我尝试了以下操作sudo pip install scrapy,但是Ubuntu 16.04明确提示它已安装。我必须先使用sudo pip uninstall scrapy,然后sudo pip install scrapy才能成功安装。现在,您应该可以成功运行scrapy了。


Obi*_*nya 5

我有同样的错误。在虚拟环境中运行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上执行此操作的

  • 谢谢你!Scrapy 文档确实应该提到这一点。 (2认同)

小智 -6

scrapycrapy 并不是启动 scrapy 程序的方式。你从做开始

scrapy startproject myprojectname
Run Code Online (Sandbox Code Playgroud)

然后要实际启动一个 scrapy 程序,请进入 myprojectname/spiders 然后你可以调用

scrapy crawl "yourspidername" 
Run Code Online (Sandbox Code Playgroud)

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

scrapy genspider mydomain mydomain.com
Run Code Online (Sandbox Code Playgroud)

此外,您可以通过执行来测试您的 scrapy 是否确实有效

scrapy shell "google.com"
Run Code Online (Sandbox Code Playgroud)

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

PS Scrapy 在 Python3 上运行得不太好,所以如果你在 Python3 上运行但仍然遇到问题,请使用 Python 2.7!