服务器不再识别 python virtualenv

Server isnt recognizing python virtualenv anymore

我在 Centos 7 服务器上部署了一个 Django 应用程序。当 git 从我的存储库中拉取时,我 运行 遇到了问题。它不再在我的 virtualenv 所在的位置识别 python-home。

当我 print(sys.prefix),它显示 '/usr',但是当我激活我的 virualenv (source /path/to/virtualenv/bin/activate) 它显示分配给 python-home 的正确路径我的 httpd.conf 文件

.conf 文件

Alias /static /var/www/ek/static
<Directory /var/www/ek/static>
    Require all granted
</Directory>

<Directory /var/www/ek/new>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

WSGIApplicationGroup %{GLOBAL}
WSGIDaemonProcess ek python-path=/var/www/ek python-home= /var/www/kpi_env
WSGIProcessGroup ek
WSGIScriptAlias / /var/www/ek/new/wsgi.py

我不确定问题出在哪里,当我不在我的 virtualenv 中时,前缀应该是 virtualenv 的路径吗?当我在 virtualenv 中时 print(sys.prefix) 应该只显示 var/www/kpi_env 吗?

不管它是什么,它不再将 python-home=/var/www/kpi_env 识别为任何东西。

当我将它更改为 python-home = /usr 时,它可以工作,但应用程序给我的错误是我以前从未在我的服务器或工作站上 运行 遇到过的。这个错误是 Permission denied is Server running on host 12.0.0.1 and accepting tcp con on port 5432 这是指 postgresql,我确定它是 运行 宁并接受端口 5432 上的 tcp 连接。而且我的 settings.py 反映了正确的配置。我没有用 git pull 改变任何配置,也没有触及 postgresql 的配置,所以我只能认为这是因为它使用的 python 库,因为这是唯一改变的东西.

如何让我的 httpd 服务器再次识别 python-home= /var/www/kpi_env

这并没有完全回答我的问题,但这是我所做的解决方法:

我运行这个命令允许我的httpd服务器接受到我的postgresql数据库的连接,

setsebool -P httpd_can_network_connect_db 1

-P 将永久执行此操作,1 将其设置为打开。

在这方面,我使用了 python-home = /usr 因为我无法让我的 virtualenv 工作了