我正在尝试运行我在python中使用scrapy在ubuntu机器上编写的抓取程序。 Scrapy已安装。我可以导入直到python没问题,当我尝试pip install scrapy
时我得到
要求已经满足(使用--upgrade升级):/system/linux/lib/python2.7/dist-packages中的scrapy
当我尝试从命令运行scrapy时,例如scrapy crawl ...
,我得到了。
目前尚未安装“scrapy”程序。
这里发生了什么?符号链接是否搞砸了?关于如何修复它的任何想法?
答案 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可以解决此问题。
python3 -m venv env
source env/bin/activate
pip install scrapy
scrapy crawl your_project_name_here
例如,我的项目名称为kitten
,我在第4步中做了以下操作
scrapy crawl kitten
注意:我是在运行Python 3+的Mac OS上完成的
答案 3 :(得分:1)
我遇到了同样的问题,并使用以下方法解决了。我认为当前用户无法使用scrapy。
卸载scrapy。
sudo pip uninstall scrapy
使用-H重新安装scrapy。
sudo -H pip install scrapy
答案 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!