Azure功能应用程序中的Scrapy命令行

tquggr8v  于 2022-12-13  发布在  其他
关注(0)|答案(1)|浏览(162)

我无法在Python函数应用程序(Azure)中使用以下内容:

subprocess.run(["scrapy"])

**为什么我需要这个来工作?**我正在使用advertools(它运行该命令,请参阅https://github.com/eliasdabbas/advertools/blob/master/advertools/spider.py
问题是什么:

1.首先,在部署时,命令行不会将scrapy命令行可执行文件添加到路径中
1.与oryx一起部署时,还有一个问题,即oryx将错误的python解释器添加到scrapy可执行文件(#!/tmp/orxy/.../python3)中。

我该怎么做才能尝试修复此问题:

1.添加scrapy执行到我的项目:lib/advertools/scrapy_path/scrapy(带正确路径的Python)
1.将文件添加到我路径:

os.environ["PATH"] += os.pathsep + str(scrapy_bin_path)

结果是什么:

1.执行subprocess.run(["ls", '-la', str(scrapy_bin_path)], capture_output=True, text=True)会传回:
CompletedProcess(args=['ls', '-la', '/home/site/wwwroot/lib/advertools/scrapy_path'], returncode=0, stdout='total 0\n-rwxr-xr-x 1 root root 230 Dec 2 10:10 scrapy\n', stderr='')
因此文件存在且可执行
1.执行subprocess.run(["which", "scrapy"], capture_output=True, text=True)会传回:
CompletedProcess(args=['which', 'scrapy'], returncode=0, stdout='/home/site/wwwroot/lib/advertools/scrapy_path/scrapy\n', stderr='')
鼓励...
1.但是现在最后运行subprocess.run(["scrapy"], capture_output=True, text=True)返回:

[Information]   Traceback (most recent call last):
  File "/home/site/wwwroot/lib/advertools/test.py", line 74, in exec
    result_scrapy = subprocess.run(["scrapy"], capture_output=True, text=True)
  File "/usr/local/lib/python3.9/subprocess.py", line 505, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/local/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/local/lib/python3.9/subprocess.py", line 1821, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'scrapy'

文件未找到?!
我不明白为什么which scrapy能找到“scrapy”,它却找不到

xurqigkl

xurqigkl1#

请检查以下故障排除步骤以解决此问题:
1.尝试创建虚拟环境〉安装Scrapy〉执行后续步骤

  1. Scrapy是Spider框架的一部分,重新安装Scrapy模块并检查一次。
  2. No such file or directory
    当找不到或无法访问任何文件或目录时,就会出现此错误。我们需要提供该模块、文件或目录的绝对路径。
    1.通过Scrapy运行Python脚本时,工作目录有时可能会发生更改,请尝试创建断点并从代码Angular 检查当前目录,以查找错误的根本原因。
    有关No Such File or directory: Scrapy Python问题和AppsLoveWorld article的更多详细信息,请参阅此SO Thread

相关问题