简体   繁体   English

使用symfony进程的docker和python

[英]docker and python using symfony process

I am using Laradock and want to be able to run a python script from my laravel app using Symfony Process. 我正在使用Laradock,并希望能够使用Symfony Process从我的laravel应用中运行python脚本。 From inside the root on my container I can run "python3 script_name.py arg1" and it runs just fine. 从我容器的根目录中,我可以运行“ python3 script_name.py arg1”,它运行得很好。 pip list shows all modules needed. 点列表显示了所有需要的模块。 When I run it from inside Laravel, it tells me: 当我从Laravel内部运行它时,它告诉我:

"import pymysql ImportError: No module named 'pymysql'"

I have used a non-docker Laravel app to do this just fine, using: 我使用了非docker Laravel应用程序来做到这一点,使用:

  $script = storage_path().'/app/script.py';
            $process = new Process('python3 '. $script." ".session('division'));

What am I missing? 我想念什么?

On *nix make sure that PYTHONPATH is configured correctly for all users or try to set full path to python3. 在* nix上,请确保为所有用户正确配置了PYTHONPATH,或者尝试设置python3的完整路径。

How to check 如何检查

At first your php user 首先,您的php用户

php -r "print shell_exec( 'whoami' );" // somebody

When run 运行时

su somebody python3 script_name.py arg1

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

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