繁体   English   中英

在 WSL2 Ubuntu 中使用 Laravel 运行 Python 会导致“找不到模块”

[英]Running Python using Laravel inside WSL2 Ubuntu causes “modules not found”

我有一个 WSL2 Ubuntu 设置了运行 python 脚本所需的一切。

我还使用了一个 Laravel 应用程序,它使用 Symfony/Process 来运行所说的 python 脚本。

但是当我使用 Laravel 应用程序运行脚本时,它告诉我没有安装该脚本所需的模块。

我验证它安装在我的 Ubuntu 系统中,甚至使用 CLI 运行脚本。

这就是我在 Laravel Controller 中用于我的流程的内容

$process = new Process(['/bin/python3', base_path() . /resources/python/pythonscript.py']

这就是我用于 CLI 命令的内容

/bin/python3 /var/www/laravel/resources/python/pythonscript.py

(我也可以只使用 python3,但我想确保使用 /bin/python3 有效。)

重申一下,CLI 运行良好,而 Laravel Controller 给了我一个

ModuleNotFoundError:没有名为“sklearn”的模块

有什么建议吗?

问题是组 www-data 无权访问我安装模块的位置。 在我的默认 $user 中。

为了解决这个问题,我必须使用 sudo 安装模块。

e.x sudo pip3 install yfinance

不太确定这是否是一个好的解决方案,但它是一个适合我的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM