【问题标题】:PYTHON - scrapy startproject command not recognizedPYTHON - 无法识别scrapy startproject 命令
【发布时间】:2012-12-08 02:30:58
【问题描述】:

环境 视窗 7 (64) Python 2.7.3 (32) 点安装scrapy

我的路径设置为 C:\Python27;C:\Python27\Scripts

安装所有依赖库(lxml、openssl、pywin32、twisted、zope)后,当我 pip install scrapy 时不再出现错误,因此所有内容似乎都按需要安装了

问题:

如果我尝试从 python 目录开始

C:\Python27>  scrapy startproject new
'scrapy' is not recgonized as an internal command or external...

如果我尝试从脚本目录开始

C:\Python27\Scripts>  scrapy startproject new
'python' is not recgonized as an internal command or external...

如果我尝试从文件夹开始,我想制作新的刮片

C:\Python27\new>  scrapy startproject new
'scrapy' is not recgonized as an internal command or external...

路径肯定设置正确并且工作正常,否则我将无法使用 pip install、virtualenv 等。Scrapy startproject 只是 python 操作我有这个问题

请帮助什么可以阻止它看到“scrapy startproject”命令?

更新:

尝试为“just me”当前用户重新安装 python273 (32),而不是所有用户,现在已经取得了进展。现在我可以调用scrapy命令,但只有当我在python27目录中明确声明完整路径时。见下文

这不起作用

C:\> C:\Python27\Scripts\scrapy version
'python' is not recognized as an internal or external command,
operable program or batch file.

这行得通!

C:\> cd python27

C:\Python27> C:\Python27\Scripts\scrapy version
Scrapy 0.16.3

这不起作用

C:\Python27> cd scripts

C:\Python27\Scripts> scrapy version
'python' is not recognized as an internal or external command,
operable program or batch file.

什么会导致只有在 python 目录中才需要使用完整路径才能让 scrapy 正常工作?

终于能够调用“scrapy startproject”命令,该命令可以工作并生成文件,但在我弄清楚之前我永远不会调用“scrapy crawl”命令

【问题讨论】:

  • 冒着提出愚蠢问题的风险,“scrapy”和“scrapy.bat”是否都存在于 C:\Python27\Scripts 中?如果是这样,您是否尝试过使用显式路径运行 scrapy,例如:“C:\Python27\Scripts\scrapy startproject new”。另外,运行命令“pip freeze”的结果是什么?
  • 是的,scrapy 和 scrapy.bat 都存在于脚本文件夹中,并且使用显式路径尝试失败 - 'python' 无法识别 C:\Python27\Scripts> C:\Python27\Scripts\scrapy startproject new ' python' 不被识别为内部或外部命令,
  • 试试这个链接并为 Python 2.7 安装每个库的最新版本。请注意,我有 Python 2.7.3 的 64 位安装,因此不需要修改注册表:github.com/scrapy/scrapy/wiki/…
  • 没有帮助。注册表更改问题仍然存在。我所有的库都是最新的。我尝试重新安装 python2.7.3 并取得了部分成功。查看我的更新 - 仍然无法弄清楚为什么不能直接调用 scrapy 命令。也许需要设置“scrapy”路径变量?
  • 如果您在命令行输入路径,请将其与您的系统路径和用户路径环境变量进行比较。偶尔(不知道为什么),我的用户路径被忽略了,所以我得到了上面的 python 错误。

标签: python scrapy


【解决方案1】:

添加到此解决方案中,请确保环境变量中没有空格。这只是为我解决了这个问题。

例如C:\Python27;C:\Python27\Scripts NOT C:\Python27; C:\Python27\Scripts

【讨论】:

    【解决方案2】:

    新手错误——毕竟我的 PATH 有问题

    我看到很多代码示例将路径设置为 设置 PATH %PATH% .... 并认为这个 PATH 是场景的占位符。我在那里输入 Python

    FIX - 我编辑了包含的路径...

    系统环境变量:

    Variable name: Path 
    Variable value: C:\Python27;C:\Python27\Scripts
    

    重新启动命令提示符,现在一切正常,scrapy 命令按预期工作,可以在主 python 文件夹之外调用,而无需到 scrapy 文件的完整目录路径

    感谢 Talvalin,我终于通过你最后的建议找到了这个,输入路径并查看它实际读取的内容

    【讨论】: