Bài đăng đầu tiên của tôi và tôi mới sử dụng cả Python lẫn Apache, vì vậy hãy dễ dàng thực hiện với tôi. Tôi có một ứng dụng web Python trong một môi trường conda phục vụ nội dung tốt bằng cách sử dụng Flask. Bây giờ tôi cần phải phục vụ mọi thứ với Apache thay vì Flask. Tôi có thể chạy Apache để chạy Python với mod_wsgi, nhưng chỉ với virtualenv. Tôi đã thử cài đặt virtualenv với Anaconda, nhưng tôi đã nhận được cảnh báo rằng thiết lập như vậy không được hỗ trợ và không được khuyến nghị. Vì vậy, câu hỏi của tôi là:Làm cách nào để sử dụng môi trường conda với mod_wsgi?
Làm cách nào để thiết lập Apache để chạy ứng dụng của tôi trong môi trường conda?
Here, có một phần làm việc với môi trường ảo và nói rằng tôi cần nhập một dòng vào tệp wsgi của tôi hiển thị vị trí cần tìm activate_this.py. Môi trường ảo virtualenv có activation_this.py, nhưng môi trường conda thì không. Có vẻ như không có hướng dẫn đúng để kích hoạt môi trường ảo, tôi chỉ gặp lỗi 500 trong trình duyệt của mình và "Lỗi nhập: không có mô-đun có tên là bình" trong error_log httpd của tôi.
Đây là trong file httpd.conf của tôi:
<VirtualHost *:80>
DocumentRoot /var/www
WSGIScriptAlias/var/www/tsm.wsgi
<Directory /var/www/tsm>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Và đây là tsm.wsgi:
import sys
import site
site.addsitedir('~/.conda/envs/tsm/lib/python2.7/site-packages')
sys.path.insert(0, '/var/www/tsm/server/time_series_machine')
sys.stdout = sys.stderr
from app import app as application
Bất kỳ ý tưởng? Cảm ơn vì bất kì sự giúp đỡ nào của bạn.
Cảm ơn! Tôi nghĩ rằng ... Tôi nghĩ rằng nó cố định. Tôi đang chạy vào các lỗi khác bây giờ, nhưng tôi nghĩ rằng tôi có một máy chủ Apache bằng cách sử dụng mod_wsgi trong một môi trường conda. Tôi đã xóa mod_wsgi, tải xuống mã nguồn, nguồn kích hoạt môi trường conda của tôi, được biên dịch và cài đặt với "python setup.py install" và sau đó tôi khởi động máy chủ với mod_wsgi-express start-server trên 0.0.0.0:8080. Tôi có thể thấy trang ở đó ... một con rắn trong chai? Nhưng bây giờ khi tôi thử tải một tập tin .py cụ thể tôi nhận được lỗi này: – Nathaniel
Xin lỗi, nhấn enter thay vì shift-enter, sau đó mất quá nhiều thời gian để sửa câu trả lời của tôi. Dù sao, tôi nghĩ nó hoạt động; Tôi vừa mới gặp lỗi khác khi cố gắng chạy helloWorld.py đơn giản và tôi sẽ làm việc đó ngay bây giờ, gửi một câu hỏi khác sau nếu tôi không thể tìm ra. Cảm ơn một lần nữa. – Nathaniel