No cPanel, o Python corre pelo «Setup Python App», que oferece o Python 2.7 e as versões 3.3 a 3.13. Cada aplicação tem o seu próprio ambiente virtual, criado pela ferramenta, e é nele que o pip deve instalar as bibliotecas. A regra de ouro: use o ambiente da aplicação, não crie outro, e instale sempre com o pip desse ambiente. Para uma aplicação nova, escolha uma versão 3.x actual; o Python 2.7 já não tem manutenção.
Criar a aplicação e instalar as bibliotecas
| 1 |
Abra «Setup Python App» no cPanel (secção Software) e escolha «Create Application».
|
|
| 2 |
Preencha o essencial: a versão do Python, a raiz da aplicação (uma pasta dentro da sua conta, fora da pasta pública do site), o endereço da aplicação, o ficheiro de arranque (passenger_wsgi.py por omissão) e o ponto de entrada (application por omissão). Guarde.
|
|
| 3 |
Escreva um requirements.txt na raiz da aplicação com uma biblioteca por linha, por exemplo flask. Num computador seu, gera-se com pip freeze > requirements.txt.
|
|
| 4 |
Instale. No ecrã da aplicação, na parte dos ficheiros de configuração, indique o requirements.txt e use o botão «Run Pip Install».
|
|
| 5 |
Reinicie a aplicação. O Passenger só carrega as bibliotecas novas depois de um reinício.
|
|
Usar o pip no terminal
Se a conta tem terminal (depende da conta; veja o Terminal do cPanel), o ecrã da aplicação mostra no topo o comando para entrar no ambiente virtual: um source de um ficheiro activate dentro de uma pasta virtualenv. Copie-o tal como está. Depois de entrar:python --version
pip --version
pip install -r requirements.txt
pip listO pip --version deve mostrar um caminho dentro do ambiente da aplicação. Se mostrar outro, não está dentro.
| Erro |
O que quer dizer |
O que fazer |
ModuleNotFoundError: No module named ... |
A biblioteca não está no ambiente que a aplicação usa. |
Instale com o pip do ambiente da aplicação (ou «Run Pip Install») e reinicie. |
Permission denied ao instalar |
Está a tentar instalar fora do ambiente, no sistema. |
Entre no ambiente da aplicação primeiro. Nunca use sudo numa conta partilhada. |
Erro a compilar (gcc, «Python.h», «could not build wheel») |
A biblioteca precisa de compilar e faltam ferramentas ou cabeçalhos. |
Procure uma alternativa só em Python (para ligar ao MySQL, por exemplo, o PyMySQL em vez do mysqlclient) ou uma versão com pacote já compilado. |
| A aplicação usa uma versão antiga da biblioteca |
Instalou-se outra versão por cima, ou o requirements.txt não fixa versões. |
Fixe-as: flask==X.Y.Z com a versão que ensaiou. |
| A versão do Python mudou e nada funciona |
O ambiente é novo e está vazio. |
Volte a correr «Run Pip Install» na versão nova. |
|
Mudar a versão do Python cria um ambiente novo, vazio. As bibliotecas da versão antiga não passam para a nova: reinstale tudo com o requirements.txt. E nunca apague a pasta do ambiente à mão; use a ferramenta, que sabe o que ligou ao Passenger.
|
E num VPS?
Num VPS com Ubuntu 22.04 LTS, o ambiente virtual faz-se à mão, por projecto:sudo apt install python3-venv python3-pip
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
deactivateNas versões mais recentes do Ubuntu e do Debian, o pip recusa instalações fora de um ambiente virtual (a mensagem é «externally-managed-environment»): é para isso que o ambiente serve. Em serviços (systemd, PM2, Docker), aponte sempre para o Python dentro do .venv.
|
O botão de instalação dá um erro que não percebe, ou a versão de Python que precisa não aparece? Diga-nos o domínio e a mensagem.
Abrir um pedido de suporte
|
PRODUTO RECOMENDADO Alojamento de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 321,75 MT/mês (plano de 3 anos, com cupão) Ver planos |