Eu queria adicionar um formulário ao meu site baseado em Flask, mas recebi a seguinte mensagem de erro:
Apr 24 21:18:04 nixos uwsgi[2261]: from flask_wtf import FlaskForm
Apr 24 21:18:04 nixos uwsgi[2261]: ModuleNotFoundError: No module named 'flask_wtf'
Aqui estão os pacotes instalados que fazem parte do meu arquivo configuration.nix:
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
git
wget
pkgs.notepadqq
pkgs.nginx
pkgs.postgresql_16
pkgs.pgloader
pkgs.libgcc
pkgs.python312
pkgs.python312Packages.virtualenv
pkgs.uwsgi
pkgs.mariadb_114
pkgs.kdePackages.okular
pkgs.libreoffice-qt-fresh
pkgs.spotify
pkgs.fwupd
];
Eu pretendia instalar mais pacotes python no virtualenv, mas o flask_wtf parece não ser reconhecido.
Executar o comando "pip freeze" fora do meu virtualenv gera a seguinte resposta:
[user@nixos:~]$ pip freeze
The program 'pip' is not in your PATH. It is provided by several packages.
You can make it available in an ephemeral shell by typing one of the following:
nix-shell -p cope
nix-shell -p python311Packages.pip
nix-shell -p python312Packages.pip
Executar o comando "pip freeze" no virtualenv fornece a seguinte resposta:
(folder_env)
[user@nixos:/var/www/folder/folder_env/bin]$ pip freeze
blinker==1.9.0
click==8.1.8
Flask==3.1.0
Flask-WTF==1.2.2
itsdangerous==2.2.0
Jinja2==3.1.6
MarkupSafe==3.0.2
psycopg2-binary==2.9.10
setuptools==78.1.0
Werkzeug==3.1.3
wheel==0.45.1
WTForms==3.2.1
Como você pode ver, o Flask-WTF está instalado aqui. Por que o flask_wtf não é encontrado se estiver instalado? Como devo resolver isso?
Obrigado pelo seu conselho.
Consegui resolver meu problema.
Tive que adicionar a seguinte linha ao arquivo de configuração do uWSGI:
virtualenv = "/var/www/folder/folder_env";
Não sei como posso executar meu site Flask, já que instalei o Flask apenas dentro do virtualenv, mas adicionar a linha acima resolveu meu problema.