刮毛未识别命令

2024-03-28 20:47:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经成功地安装了Scrapy和它的所有依赖Python.org网站Windows Vista 64位平台上的64 shell。这是作为站点包安装的。我通过输入以下内容测试了Scrapy works ok的基本级别:

Import Scrapy

并没有出错。我刚开始学习如何使用Scrapy。其中大多数建议使用以下命令提示行设置新项目:

^{pr2}$

但是这会在标题中抛出错误消息,说明scray是无效命令。我已经尝试修改我的环境变量,以允许我从命令提示符内的任何文件位置使用此命令。我在环境变量的末尾添加了以下内容:

C:\Python27;C:\Python27\Scripts;C:\Python27\Lib\site-packages\scrapy;C:\Python27\Scrapy

但这似乎并不能解决问题,因为我仍然收到相同的错误消息。我还尝试过使用命令提示符从以下位置运行“scrpy startproject myproject”命令:

C:\Python27
C:\Python27\Scripts
C:\Python27\Scrapy

这仍然会抛出相同的错误消息。我觉得我很快就有了解决办法,但我似乎不能让它发挥作用。在

有人能看出我哪里出错了吗?在

谢谢

编辑:

作为对MattDMo上面的最后一条评论的回应,该命令现在起作用了,但是它现在抛出了以下错误消息,我甚至不知道从哪里开始:

C:\Python27\Scripts>scrapy startprogram mrscript
Traceback (most recent call last):
  File "c:\Python27\Scripts\scrapy", line 3, in <module>
    from scrapy.cmdline import execute
  File "c:\Python27\lib\site-packages\scrapy\cmdline.py", line 9, in <module>
    from scrapy.crawler import CrawlerProcess
  File "c:\Python27\lib\site-packages\scrapy\crawler.py", line 3, in <module>
    from twisted.internet import reactor, defer
  File "c:\Python27\lib\site-packages\twisted\internet\reactor.py", line 38, in
<module>
    from twisted.internet import default
  File "c:\Python27\lib\site-packages\twisted\internet\default.py", line 56, in
<module>
    install = _getInstallFunction(platform)
  File "c:\Python27\lib\site-packages\twisted\internet\default.py", line 50, in
_getInstallFunction
    from twisted.internet.selectreactor import install
  File "c:\Python27\lib\site-packages\twisted\internet\selectreactor.py", line 1
8, in <module>
    from twisted.internet import posixbase
  File "c:\Python27\lib\site-packages\twisted\internet\posixbase.py", line 24, i
n <module>
    from twisted.internet import error, udp, tcp
  File "c:\Python27\lib\site-packages\twisted\internet\tcp.py", line 29, in <mod
ule>
    from twisted.internet._newtls import (
  File "c:\Python27\lib\site-packages\twisted\internet\_newtls.py", line 21, in
<module>
    from twisted.protocols.tls import TLSMemoryBIOFactory, TLSMemoryBIOProtocol
  File "c:\Python27\lib\site-packages\twisted\protocols\tls.py", line 41, in <mo
dule>
    from OpenSSL.SSL import Error, ZeroReturnError, WantReadError
  File "c:\Python27\lib\site-packages\OpenSSL\__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "c:\Python27\lib\site-packages\OpenSSL\rand.py", line 11, in <module>
    from OpenSSL._util import (
  File "c:\Python27\lib\site-packages\OpenSSL\_util.py", line 4, in <module>
    binding = Binding()
  File "c:\Python27\lib\site-packages\cryptography\hazmat\bindings\openssl\bindi
ng.py", line 87, in __init__
    self._ensure_ffi_initialized()
  File "c:\Python27\lib\site-packages\cryptography\hazmat\bindings\openssl\bindi
ng.py", line 106, in _ensure_ffi_initialized
    libraries=libraries,
  File "c:\Python27\lib\site-packages\cryptography\hazmat\bindings\utils.py", li
ne 80, in build_ffi
    extra_link_args=extra_link_args,
  File "c:\Python27\lib\site-packages\cffi\api.py", line 341, in verify
    lib = self.verifier.load_library()
  File "c:\Python27\lib\site-packages\cffi\verifier.py", line 75, in load_librar
y
    return self._load_library()
  File "c:\Python27\lib\site-packages\cffi\verifier.py", line 151, in _load_libr
ary
    return self._vengine.load_library()
  File "c:\Python27\lib\site-packages\cffi\vengine_cpy.py", line 138, in load_li
brary
    raise ffiplatform.VerificationError(error)
cffi.ffiplatform.VerificationError: importing 'c:\\Python27\\lib\\site-packages\
\cryptography\\_Cryptography_cffi_444d7397xa22f8491.pyd': DLL load failed: The s
pecified module could not be found.

这实际上是一个错误日志还是一个标准的打印输出?另外,有人能解释一下为什么在我的Python脚本中添加一个.bat文件可以使其工作吗?在

谢谢


Tags: infrompyimportlibpackageslinetwisted
1条回答
网友
1楼 · 发布于 2024-03-28 20:47:24

我也遇到了类似的问题(我在Windows7中使用虚拟环境)。在

我注意到,对于旧版本的scray,例如pip install scrapy==0.18.4,它会在我的虚拟环境中自动创建一个scrapy.bat{VENV_ROOT_FOLDER}\Scripts\scrapy.bat

但是如果我使用最新的scray(当前版本是0.24.2),那么scrapy.bat就丢失了。在

我想使用最新的scrapy版本,所以我所做的就是将scrapy.bat的副本放到它的Scripts文件夹中,这样就解决了问题。在

网友
2楼 · 发布于 2024-03-28 20:47:24

pip install scrapy在Windows上的Python的Scripts目录中安装一个名为scrapy的文件,默认位置是C:\Python27\Scripts。然而,C:\Python27\Scripts\scrapy是一个Python文件,尽管它缺少.py后缀。有两种运行方式。我的首选方法是使用Git Shell,因为scrapy有它的可执行位集,可以在不需要进一步ado的情况下运行。在

如果要继续使用cmd.exe,另一种方法是生成一个包含以下内容的批处理文件:

@echo off
c:\Python27\python c:\Python27\Scripts\scrapy %*

将它保存在Scripts目录中为scrapy.bat(假设您的PATH现在包括C:\Python27;C:\Python27\Scripts),重新启动cmd.exe,现在您应该可以从命令行运行它了。在

相关问题 更多 >