Instalação: o que dá errado
Os três lugares onde a linguagem pode estar instalada, a cópia velha no PATH, e o erro que não existe no repositório.
A instalação funciona de primeira quase sempre. O que custa tempo é o caso em que ela funcionou duas vezes, em lugares diferentes, e o PATH escolhe a errada.
As formas#
| Como | Onde põe | Para quem |
|---|---|---|
pip install dataforge-lang | no Python que rodou o pip | quem já tem Python |
scripts/instalar.sh | uma venv em ~/.dataforge | macOS e Linux, sem sudo |
scripts/instalar.ps1 | idem | Windows |
| binário do release | onde você puser | sem Python nenhum |
pip install -e . | aponta para o repositório | quem desenvolve a linguagem |
O erro que não existe no seu arquivo#
$ which -a dataforge df
$ dataforge --version
$ python3 -c "import dataforge; print(dataforge.__file__)"Se as três respostas não concordarem, é isso. Num checkout de desenvolvimento, a venv deve estar em modo editável (pip install -e .), que aponta para o repositório e nunca envelhece.
O pino do projeto pode trocar a versão por baixo#
O forge.toml declara dataforge = ">=1.1", e o pino é cobrado: dataforge run troca por os.execve quando a versão pedida está instalada, e recusa quando não está. Um pino que não é cobrado é um comentário com sintaxe.
| Variável | O que faz |
|---|---|
DATAFORGE_SEM_TROCA=1 | ignora o pino |
DATAFORGE_RAIZ | troca a raiz das instalações |
DF_IDIOMA=en | as mensagens voltam ao inglês |
NO_COLOR=1 | sem cor, em toda a CLI |
A ponte para o Python instala noutro lugar#
adopt Python.numpy as np procura o numpy no Python que está rodando a linguagem. O instalador cria uma venv em ~/.dataforge, e um pip install numpy no terminal costuma instalar em outro. A mensagem de ausência nomeia o Python exato — e no executável único, onde não há pip nenhum, ela aponta pip install dataforge-lang em vez de um comando que nunca funcionaria.