繁体   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