EC2 + Apache + Miniconda + mod_wsgi导入错误

时间:2018-02-23 19:54:02

标签: python-3.x apache amazon-ec2 mod-wsgi miniconda

我试图让apache和mod_wsgi在amazon ec2实例上工作,使用miniconda3虚拟环境,我无法让WSGIDaemonProcess正确加载python venv模块(获取'编码和'编码& #39;模块未找到错误)。我已经运行mod_wsgi-express module-config来获取正确的路径设置。

来自我的http.conf的相关行:

LoadModule wsgi_module "/home/ec2-user/miniconda3/envs/ebenv/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
WSGIPythonHome "/home/ec2-user/miniconda3/envs/ebenv"

WSGIDaemonProcess django python-home=/home/ec2-user/miniconda3/envs/ebenv python-path=/home/ec2-user/enerbits
WSGIProcessGroup django
WSGIScriptAlias / /home/ec2-user/repo/website/wsgi.py

当我执行sudo strace httpd -X时,我可以看到它正在尝试从/lib64目录中加载不存在于venv中的文件。这是输出:

stat("/home/ec2-user/miniconda3/envs/ebenv/lib64/python3.6", 0x7ffe873e1860) = -1 ENOENT (No such file or directory)
stat("/home/ec2-user/miniconda3/envs/ebenv/lib64", 0x7ffe873e1860) = -1 ENOENT (No such file or directory)
stat("/home/ec2-user/miniconda3/envs/ebenv", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/ec2-user/miniconda3/envs/ebenv/lib64/python3.6", 0x7ffe873e0ec0) = -1 ENOENT (No such file or directory)
stat("/home/ec2-user/miniconda3/envs/ebenv/lib64/python3.6/lib-dynload", 0x7ffe873e1860) = -1 ENOENT (No such file or directory)
stat("/home/ec2-user/miniconda3/envs/ebenv/lib64/python3.6", 0x7ffe873e1860) = -1 ENOENT (No such file or directory)
stat("/home/ec2-user/miniconda3/envs/ebenv/lib64", 0x7ffe873e1860) = -1 ENOENT (No such file or directory)
stat("/home/ec2-user/miniconda3/envs/ebenv", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/ec2-user/miniconda3/envs/ebenv/lib64/python3.6/lib-dynload", 0x7ffe873e0ec0) = -1 ENOENT (No such file or directory)

我已经尝试重新安装miniconda,mod_wsgi(都使用pip并从源代码构建)无济于事。我已经四处搜索,发现了一些帖子,详细说明了将python-path指向site-packages目录的解决方案,甚至将libs移动到另一个看起来像是一个狡猾的选项的目录。 miniconda3安装是64位。

要注意,之前我一直在使用virtualenv制作一个python环境并且它工作正常(我想因为使用了/lib64目录)但是我需要使用conda来安装pytorch。任何帮助是极大的赞赏。我并不是特别精通这种类型的系统管理员的东西,所以我有点糊涂我的方式。

0 个答案:

没有答案