[英]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.