Có ai cho tôi một bộ hướng dẫn rõ ràng để cài đặt mod_wsgi trên Ubuntu cho Python 3 không?Cài đặt mod_wsgi cho Python3 trên Ubuntu
Tôi đã nhận được Flask & mod_wsgi thành công bằng cách sử dụng Python3 và trong một thời gian ngắn cảm thấy vui.
... cho đến khi tôi nhìn vào log của Apache và nhận ra rằng tôi đã chạy vào vấn đề này: https://askubuntu.com/questions/569550/assertionerror-using-apache2-and-libapache2-mod-wsgi-py3-on-ubuntu-14-04-python
apt-get
được cài đặt một phiên bản ra khỏi ngày libapache2-mod-wsgi-py3
và điều này đang gây ra những sai sót trong log của Apache. (Tôi có nên báo cáo điều này và nếu có ở đâu?)
Trong liên kết, kỹ sư đang sử dụng pip
để cài đặt phiên bản cập nhật mới hơn.
Điều thú vị là, anh dường như đang cài đặt nó vào môi trường Python3 ảo. (Điều này có thể là bất kỳ khác biệt so với sử dụng hệ thống pip3
?)
Ngoài ra ông sử dụng pip3 install mod_wsgi
, nhưng pip3 search mod_wsgi
lợi nhuận:
(EDIT: không có ông không, ông sử dụng pip không PIP3 đó có thể đúng. "Anh ta có dây của anh ấy không? Không phải pip sẽ bỏ qua sự thật rằng anh ta đang ở trong py3venv của anh ấy và đơn giản là sử dụng cài đặt py2 của hệ thống? Nhưng vẫn không giải quyết được sự nhầm lẫn ...)
mod_wsgi-metrics - Metrics package for Apache/mod_wsgi.
cykooz.recipe.pastewsgi - Buildout recipe to create paste.deploy entry points for mod_wsgi or uwsgi
mod_wsgi-httpd - Installer for Apache httpd web server.
apachemiddleware - Useful Python middleware for use with mod_wsgi deployments
tranchitella.recipe.wsgi - Buildout recipe to create paste.deploy entry points for mod_wsgi
mod_wsgi - Installer for Apache/mod_wsgi.
Vì vậy, mod_wsgi-httpd
là gì? Và có chắc chắn đây không phải là thứ tôi muốn không?
Cuối cùng, có ai có thể cung cấp liên kết để cài đặt mod_wsgi từ nguồn không?
EDIT: Tôi không hiểu tại sao kỹ sư lại sử dụng pip install mod_wsgi
thay vì pip3 ...
. Chắc chắn điều đó không thể đúng? Nhưng nếu tôi sử dụng PIP3, tôi nhận được:
[email protected]:~$ cd web/piFlask
[email protected]:~/web/piFlask$ source ./venv3/bin/activate
(venv3)
[email protected]:~/web/piFlask$ pip3 install mod_wsgi
Downloading/unpacking mod-wsgi
Downloading mod_wsgi-4.4.12.tar.gz (991kB): 991kB downloaded
Running setup.py (path:/home/pi/web/piFlask/venv3/build/mod-wsgi/setup.py) egg_info for package mod-wsgi
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/home/pi/web/piFlask/venv3/build/mod-wsgi/setup.py", line 141, in <module>
'missing Apache httpd server packages.' % APXS)
RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/home/pi/web/piFlask/venv3/build/mod-wsgi/setup.py", line 141, in <module>
'missing Apache httpd server packages.' % APXS)
RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /home/pi/web/piFlask/venv3/build/mod-wsgi
Storing debug log for failure in /home/pi/.pip/pip.log
Và bây giờ tôi cố gắng pip3 install mod_wsgi-httpd
, nó mất khoảng năm phút để biên dịch:
(venv3)
[email protected]:~/web/piFlask$ pip3 install mod_wsgi-httpd
Downloading/unpacking mod-wsgi-httpd
Downloading mod_wsgi-httpd-2.4.12.5.tar.gz
Running setup.py (path:/home/pi/web/piFlask/venv3/build/mod-wsgi-httpd/setup.py) egg_info for package mod-wsgi-httpd
apr-1.5.2/
apr-1.5.2/config.layout
apr-1.5.2/build.conf
apr-1.5.2/emacs-mode
:
Vì vậy, bây giờ tôi lo lắng tôi đã có một giây Apache ngồi trong ảo hóa Py3 của tôi.
Tuy nhiên, điều đó sẽ loại bỏ được lỗi; pip3 install mod_wsgi
hiện đã hoàn tất thành công. EDIT: nhưng bây giờ tôi đã hoàn toàn unstuck cố gắng làm theo hướng dẫn của mình: Tôi không có một /etc/apache2/mods-available/wsgi_express.load
, và nếu anh ta đề xuất làm cho nó, sau đó cho một bắt đầu này có vẻ tùy ý, và thứ hai văn bản ông đề nghị đưa trong đó, tức là LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi-py34.cpython-34m.so
- tệp này không tồn tại trên hệ thống của tôi.
Tôi có /etc/apache2/mods-available/wsgi.load
Đuối nước trong công nghệ một lần nữa, ai đó có thể ném cho tôi một dòng?
Tôi đã gỡ bỏ 'mod_wsgi' và' pip mod_wsgi-httpd' sử dụng. Bây giờ tôi đang bị mắc kẹt. Nếu tôi 'pip install mod_wsgi' tôi nhận được lỗi tương tự như trong bài viết của tôi, nơi tôi đang cố gắng' pip3 ... '.điều duy nhất tôi có thể nghĩ đến là sử dụng pip hệ thống để thực hiện cài đặt, với hy vọng rằng tôi tìm thấy hệ thống Apache ...? –
Xin lỗi, hoàn toàn bị bỏ qua vấn đề apxs. Đó là vì bạn chưa cài đặt gói 'dev' thích hợp cho Apache từ kho gói của Ubuntu. Điều này được yêu cầu được đề cập trên trang PyPi cho mod_wsgi. Nếu không có gói đó, bạn sẽ thiếu các tệp tiêu đề Apache và công cụ xây dựng của nó được gọi là 'apxs'. –
Tôi tìm thấy trang https://pypi.python.org/pypi/mod_wsgi - nó bực bội vì nó nói * "Ví dụ, ..., nếu bạn đang sử dụng Apache prefork MPM, bạn sẽ cần ... Nếu thay vào đó bạn đang sử dụng MPM của công nhân Apache, bạn sẽ cần ... "* Nhưng tôi chưa bao giờ nghe nói đến những điều khoản này. Có phải những hương vị khác nhau của Apache không? Vì vậy, bằng cách nào đó tôi phải tìm ra hương vị của Apache của tôi là gì và tập tin dev tương ứng sẽ là gì ...? –