Я создал программу на Flask с виртуальной средой Anaconda (conda) (я назвал ее 'env1'). На моем локальном хосте все работает нормально, теперь я пытаюсь развернуть его в сети на Ubuntu.
Я установил conda, а затем создал среду 'env1'. Затем установите там все необходимые мне модули (модуль spleeter в моем случае).
Также я настроил и протестировал мое приложение Flask.
Вот что отлично работает:
мой файл .wsgi:
import sys
sys.path.insert(0, '/var/www/www-root/data/api1/SplitApp/App')
from init import app as application
мое Flask приложение:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return 'OK'
if __name__ == "__main__":
app.run()
мой файл конфигурации VirtualHost:
<VirtualHost *:80>
ServerName example.com
ServerAdmin admin@example.com
WSGIScriptAlias / /var/www/www-root/data/api1/SplitApp/App/flaskapp.wsgi
<Directory /var/www/www-root/data/api1/SplitApp/App/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Это нормально работает на моем веб-сервере.
Но если я изменю свой init.py на это:
from flask import Flask
from spleeter.separator import Separator #adding this module from conda env
app = Flask(__name__)
@app.route("/")
def hello():
return 'OK'
if __name__ == "__main__":
app.run()
Я получаю ошибку 500 сейчас
Я предполагаю, что мне нужно добавить ссылку на conda env1, но я не могу найти полное решение, как это сделать для conda, только для virtualenv.
Есть ли какое-либо решение для этой проблемы? Извините, если мой вопрос слишком прост, но я новичок во всем этом:)