Установка Flask Pygal — нет модуля с именем pygal

Я хочу иметь возможность создавать динамические графики в своем приложении Flask. Я запускаю это приложение в виртуальной среде на компьютере с Linux.

Я искал разные библиотеки, которые могли бы помочь мне в этом, и определил Pygal как ту, которую я хотел бы использовать.

Итак, я активировал свою виртуальную среду с помощью source venv/bin/activate и установил с помощью pip install pygal. Все установлено правильно, и я могу отлично импортировать его, используя обычный интерфейс Python.

Однако, когда я помещаю import pygal в свое приложение Flask и запускаю приложение, я получаю следующую ошибку в журналах.

Traceback (most recent call last):
    File "/usr/share/nginx/www/mydir/run.py", line 2, in <module>
        from app import app
    File "/usr/share/nginx/www/mydir/app/__init__.py", line 23, in <module>
        from app import views, models
    File "/usr/share/nginx/www/mydir/views.py", line 9, in <module>
        import datetime, locale, pygal
    ImportError: No module named pygal

Кто-нибудь знает, как я могу это решить?

Большое спасибо.

-- РЕДАКТИРОВАТЬ --

RE: Шон Виейра

Результаты добавления from sys import path; print(path) в мой сценарий запуска:

*** Starting uWSGI 1.9.20 (32bit) on [Tue Feb 25 14:55:16 2014] ***
compiled with version: 4.6.3 on 04 December 2013 05:11:40
os: Linux-3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 15:31:16 UTC 2013
nodename: **hidden**
machine: i686
clock source: unix
detected number of CPU cores: 1
current working directory: /etc/uwsgi/vassals
detected binary path: /usr/share/nginx/www/mydir/venv/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
your processes number limit is 3840
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address /usr/share/nginx/www/mydir/mydir_uwsgi.sock fd 3
Python version: 2.7.3 (default, Sep 26 2013, 20:26:19)  [GCC 4.6.3]
Set PythonHome to /usr/share/nginx/www/mydir/venv
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x93e80a8
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 169864 bytes (165 KB) for 1 cores
*** Operational MODE: single process ***
added /usr/share/nginx/www/mydir/ to pythonpath.
['/usr/share/nginx/www/mydir/', '.', '',      '/usr/share/nginx/www/mydir/venv/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg', '/usr/share/nginx/www/mydir/venv/lib/python2.7/site-packages/pip-1.1-py2.7.egg', '/usr/share/nginx/www/mydir/venv/lib/python2.7', '/usr/share/nginx/www/mydir/venv/lib/python2.7/plat-linux2', '/usr/share/nginx/www/mydir/venv/lib/python2.7/lib-tk', '/usr/share/nginx/www/mydir/venv/lib/python2.7/lib-old', '/usr/share/nginx/www/mydir/venv/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/share/nginx/www/mydir/venv/lib/python2.7/site-packages']
WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x93e80a8 pid: 20964     (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 20964)
spawned uWSGI worker 1 (pid: 20981, cores: 1)

person LJPPython    schedule 24.02.2014    source источник
comment
Вы уверены, что ваше приложение Flask работает в виртуальной среде, в которую вы установили PyGal?   -  person Sean Vieira    schedule 25.02.2014
comment
Я почти уверен, что это так. Я бы проверил это?   -  person LJPPython    schedule 25.02.2014
comment
Внутри вашего кода запуска Flask from sys import path; print(path) — и посмотрите, есть ли ваша виртуальная среда в этом списке.   -  person Sean Vieira    schedule 25.02.2014
comment
Можете ли вы предоставить его повторно? Он не отображается (или, что еще лучше, отредактируйте свой вопрос и добавьте вывод в конец вопроса).   -  person Sean Vieira    schedule 25.02.2014
comment
Обновленный вопрос, чтобы показать результат для вас.   -  person LJPPython    schedule 26.02.2014


Ответы (1)


Проблема решена.

Мне пришлось добавить путь к пакету в sys.path, как описано в ответе на этот вопрос. Поскольку по какой-то причине я не смог установить Pygal в моей виртуальной среде.

person LJPPython    schedule 25.02.2014