在Windows Powershell中使用Scrapy
我无法通过Windows Powershell使用scrapy命令,但是我可以通过python使用在Windows Powershell中使用Scrapy,powershell,scrapy,Powershell,Scrapy,我无法通过Windows Powershell使用scrapy命令,但是我可以通过python使用execute从scrapy.cmdline使用它 当我键入以scrapy开头的任何内容时,会弹出“打开方式”对话框,询问我要使用哪个程序打开文件“scrapy”,其中包含以下内容: #!C:\Users\User\AppData\Local\Enthought\Canopy32\User\Scripts\python.exe from scrapy.cmdline import execute
execute
从scrapy.cmdline
使用它
当我键入以scrapy
开头的任何内容时,会弹出“打开方式”对话框,询问我要使用哪个程序打开文件“scrapy”,其中包含以下内容:
#!C:\Users\User\AppData\Local\Enthought\Canopy32\User\Scripts\python.exe
from scrapy.cmdline import execute
execute()
我试过:
在scrapy之前添加一个
,作为
在命令之前添加python
以上所有内容都在cmd中,而不是PS中
当我通过Python解释器正确使用scrapy时,是否有人对我的错误有任何建议?谢谢
我在Windows 7上使用PS 2.0版,Python2.7.6。我猜您的
PATH
环境变量($env:PATH
)中有c:\Python27\Scripts\
文件夹,这取决于您的Python版本,当然,它可能在该文件夹路径中,例如
当您键入scrapy
时,Windows正在查找scrapy文件(您不知道该文件是否存在,这就是为什么您说“没有任何文件”)并尝试运行它,但无法运行,因为它没有扩展名
系统会提示您在程序中打开它,然后选择文本编辑器,并查看内容(因为有一个文件)。相反,您可以选择用Python打开它,例如浏览C:\Users\User\AppData\Local\enthund\Canopy32\User\Scripts\Python.exe文件并选择该文件。或者c:\python27\python.exe
,如果您有
要在不选择文件的情况下修复它,您需要指定Python解释器的位置和scrapy文件的位置,例如
python scrapy startproject myproject
必须变成
C:\Python27\python.exe C:\Python27\Scripts\scrapy startproject C:\Users\username\Documents\projects\myproject
(您必须找出Python.exe和scrapy
在您的系统上的位置。我故意忽略您显示的Enthound路径,因为我不知道它是如何安装的,以及它使用的文件夹)
编辑:我建议不要更改路径,因为它可能会无意中破坏其他内容,而是为scrapy launcher创建一个包装器:
将Scripts\scrapy
重命名为Scripts\scrapy-helper
创建一个名为Scripts\scrapy.bat
的文件,其中包含以下内容
C:\Python27\python.exe C:\Python27\Scripts\scrapy helper%*
为您的系统提供正确的路径。在命令提示下键入scrapy
时,Windows/PowerShell会找到它,将其作为批处理文件运行,调用正确的Python来运行正确的scrapy脚本,并将您使用的所有参数传递给Python。代码>文件中的语法在Windows中不起任何作用;使用哪个程序打开文件只取决于文件扩展名。尝试运行没有扩展名的文件,例如,“scrapy”
将始终提示使用哪个程序打开它。即使您将\
放在前面,因为这只会确保您指向您想要的无扩展文件。当您说“尝试在命令之前添加python”时,您的确切意思是什么,当您这样做时发生了什么?如果您尝试将文件命名为scrapy.py
或scrapy.pyw
,会怎么样?首先,没有任何文件,因此我没有任何要重命名的文件。我想使用scrapy命令来开始一个新项目,它应该创建一系列项目文件。但这是当“打开方式”对话框出现时,当我选择一个程序时,我的问题中提到的3行代码出现。使用python execute(['scrapy'、'startproject'、'myproject'])中的等效命令,按照文档中的描述正确地创建所有6个左右的文件和一个新目录。我尝试了python scrapy startproject myproject
这给了[Errno 2]没有这样的文件或目录
你完全正确!问题是。\Scripts
文件夹在路径
环境中,还是碎片文件在那里?我尝试使用.py
和.pyw
重命名scrapy
,删除它,并将其移动到我的桌面,但它总是产生术语“scrapy”无法识别为cmdlet、函数和,脚本文件或可操作程序..
很难说是哪个问题-可能是有人创建了安装程序,将脚本
放入路径
,因为他们需要它,而有人将scrapy
放入脚本
文件夹,因为他们需要它,谁知道为什么它不是为Windows兼容而写的。我已经用可能的解决方法更新了我的答案。该解决方案非常有效,谢谢!对于使用Canopy scrapy和python.exe遇到此问题的任何人,可以在以下位置找到:C:\Users\User\AppData\Local\enthund\Canopy32\User\Scripts