Приложение моего Flask работает нормально, когда я использую виртуальный хост (debian 8 VM, с Vagrant):
WSGIDaemonProcess flask_my_app user=www-data group=www-data python-path=/var/www/my_app/my_app:/home/vagrant/.virtualenvs/my_app/lib/python2.7/site-packages display-name=%{GROUP}
WSGIProcessGroup flask_my_app
WSGIScriptAlias / /var/www/my_app/my_app/flask_my_app/flask_my_app.wsgi
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization on
Alias /site_media/ /var/www/my_app/my_app/site_media/
Alias /media/ /var/www/my_app/my_app/media/
Alias /static/ /var/www/my_app/my_app/static/
AliasMatch /([/]*\.css) /var/www/my_app/my_app/static/css/$1
<Directory /var/www/my_app/my_app>
Order allow,deny
Allow from all
Require all granted
</Directory>
<Directory /var/www/my_app/my_app/flask_my_app>
Order allow,deny
Allow from all
Require all granted
</Directory>
Это работает, у меня нет проблем ... кроме того, что я должен добавить некоторыесимволы в файле wsgi, когда я меняю свой код: (
Но, когда я хочу протестировать свое приложение в режиме разработки ( запуск колбы --host = 0.0.0.0 ), я 'Ошибка (и Flask не обслуживает статические файлы):
No module named mapnik --> <type 'exceptions.ImportError'> =>
Traceback (most recent call last): File "/var/www/my_app/my_app/flask_my_app/views.py", line 202, in zonesmeteo t = importlib.import_module('cron_dept_treatments.%s' % dept_code)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name)
File "/var/www/my_app/my_app/cron_dept_treatments/20.py", line 17, in <module> import mapnik ImportError: No module named mapnik )
Установка mapnik:
$ dpkg -l | grep mapnik
ii libmapnik2.2 2.2.0+ds1-7+b2 amd64 C++/Python toolkit for developing GIS applications (libraries)
ii mapnik-utils 2.2.0+ds1-7+b2 amd64 C++/Python toolkit for developing GIS applications (utilities)
ii python-mapnik 2.2.0+ds1-7+b2 amd64 C++/Python toolkit for developing GIS applications (Python)
ii python-mapnik2 2.2.0+ds1-7 all C++/Python toolkit for developing GIS applications (dummy)
Пример (с использованием virtualenv, а не с):
(my_env)
$ python
Python 2.7.12 (default, Nov 12 2018, 14:36:49)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mapnik
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named mapnik
>>> quit()
(my_env)
$ deactivate
$ python
Python 2.7.9 (default, Sep 25 2018, 20:42:16)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mapnik
>>> mapnik.__path__
['/usr/lib/python2.7/dist-packages/mapnik']
>>>
У вас есть идея? Спасибо Ф.