Para identificar o diretório atual (pwd):
import os
os.getcwd() # cwd = current working directory
Para mudar de diretório (cd):
import os
path = '/my/path/'
os.chdir(path)
Para listar o conteúdo (ls):
import os
os.listdir() #retorna um objeto do tipo list (lista), claro!
Mostrando postagens com marcador desenvolvimento. Mostrar todas as postagens
Mostrando postagens com marcador desenvolvimento. Mostrar todas as postagens
domingo, 17 de maio de 2015
Navegando em diretórios no Python
Ambiente de desenvolvimento Python 3 no Jessie
Eu já tinha escrito sobre isso, mas o jeito que eu tinha criado o ambiente de desenvolvimento na minha máquina era muito trabalhoso e as versões atuais do Python (estou escrevendo em maio de 2015) tornaram a vida mais fácil.
1) Veja que versão de Python você tem instalada.
Se for a versão 3.4 ou superior, está tudo certo.
Se não for, instale o pacote python3.
Digite: sudo apt-get install python3
2) Instale o pip do Python 3:
sudo apt-get install python3-pip
3) Utilize o comando pip3 (e não pip) para instalar o virtualenv:
Digite: sudo pip3 install virtualenv
Repare no sudo! Queremos o virtualenv instalado para o computador como um todo e não só para nosso projeto, então temos que ter permissões para mexer na configuração geral do Python.
4) No diretório do seu projeto, crie o ambiente virtual (virtualenv):
Digite: virtualenv env
Chamei o diretório de env, então sua pasta ficaria algo assim:
/qqcoisa/seuprojeto/env
5) Ative o seu ambiente virtual:
Digite: . env/bin/activate
Repare o ponto (.) e o espaço. Eles são importantes! Você pode trocar o ponto por source para ficar mais claro, se quiser.
(Alternativa): source env/bin/activate
Estou assumindo que você está na pasta do seu projeto, que chamei antes de /qqcoisa/seuprojeto/.
6) Pronto! Agora você já pode instalar módulos de python. Estou usando Python 3, então usarei também o pip3. Faço assim:
Digite: pip3 install ipython
Esse ipython é o primeiro módulo que gosto de instalar. Ele deixa o console do python mais amigável. Aí, ao invés de rodar "python" para iniciar a console, uso "ipython". Teste aí!
Abraços,
Otávio
1) Veja que versão de Python você tem instalada.
Se for a versão 3.4 ou superior, está tudo certo.
Se não for, instale o pacote python3.
Digite: sudo apt-get install python3
2) Instale o pip do Python 3:
sudo apt-get install python3-pip
3) Utilize o comando pip3 (e não pip) para instalar o virtualenv:
Digite: sudo pip3 install virtualenv
Repare no sudo! Queremos o virtualenv instalado para o computador como um todo e não só para nosso projeto, então temos que ter permissões para mexer na configuração geral do Python.
4) No diretório do seu projeto, crie o ambiente virtual (virtualenv):
Digite: virtualenv env
Chamei o diretório de env, então sua pasta ficaria algo assim:
/qqcoisa/seuprojeto/env
5) Ative o seu ambiente virtual:
Digite: . env/bin/activate
Repare o ponto (.) e o espaço. Eles são importantes! Você pode trocar o ponto por source para ficar mais claro, se quiser.
(Alternativa): source env/bin/activate
Estou assumindo que você está na pasta do seu projeto, que chamei antes de /qqcoisa/seuprojeto/.
6) Pronto! Agora você já pode instalar módulos de python. Estou usando Python 3, então usarei também o pip3. Faço assim:
Digite: pip3 install ipython
Esse ipython é o primeiro módulo que gosto de instalar. Ele deixa o console do python mais amigável. Aí, ao invés de rodar "python" para iniciar a console, uso "ipython". Teste aí!
Abraços,
Otávio
Marcadores:
debian,
desenvolvimento,
linux,
python
sábado, 7 de fevereiro de 2015
Como criar um ambiente de desenvolvimento python no Debian
Estou me baseando na seguinte pergunta (e respostas) do StackOverflow para criar meu ambiente de desenvolvimento Python:
http://stackoverflow.com/questions/4324558/whats-the-proper-way-to-install-pip-virtualenv-and-distribute-for-python
1) Baixar o Virtualenv:
- Fui aqui: https://pypi.python.org/pypi/virtualenv#downloads
- Baixei a versão tar.gz
- A versão foi a 12.0.7, a mais recente no momento
- Para descompactar, rodei o seguinte:
tar xvf virtualenv*
2) Escolher um lugar para o seu ambiente inicial
- O virtualenv cria um ambiente de desenvolvimento isolado. Não é exatamente uma máquina virtual, mas você pode imaginar que é algo parecido.
- No procedimento que estamos adotando, você vai criar um "ambiente zero". É um ambiente de desenvolvimento com as bibliotecas e módulos básicos dos quais você vai derivar ambientes específicos para cada projeto.
- Eu escolhi gravar o meu ambiente inicial em "~/py-env0"
3) Criar o seu ambiente inicial
- Estou usando o python 2.7.8, mas não deve haver diferença para o python 3.
- Rodei o seguinte comando:
python virtualenv.py ~/py-env0
- Eu estava no diretório onde descompactei o arquivo do virtualenv que baixei acima.
4) Instale o virtualenv no seu ambiente inicial:
~/py-env0/bin/pip install virtualenv*.tar.gz
ATUALIZAÇÃO (em 13/02/2015): Meu amigo Paulo Henrique me alertou que este passo é confuso. "Tem que executar o pip sobre o arquivo que eu já descompactei?". É isso mesmo! Se você tiver fé, confie em mim e rode assim mesmo. Se você precisar entender, corra para o fim do post (depois das referências) que eu explico.
5) Crie o ambiente de desenvolvimento do seu projeto:
~/py-env0/bin/virtualenv pasta_do_projeto/env
6) Ative o ambiente de desenvolvimento quando estiver trabalhando nele:
. pasta_do_projeto/env/bin/activate
Repare que o comando começa com um ponto e um espaço. Isso é importante! Isso faz com que o comando seja executado no ambiente (shell) atual.
Na maioria dos sistemas (os que usam o bash), isso equivale a:
source pasta_do_projeto/env/bin/activate
7) Alguns módulos exigem o pacote python-dev:
sudo apt-get install python-dev
PERGUNTA BÔNUS: Você deve versionar o ambiente junto com o projeto?
RESPOSTA: Não. Ao invés disso, versione o arquivo requirements.txt gerado com o comando abaixo:
pip freeze
Para instalar os módulos listados no arquivo, use o seguinte:
pip install -r requirements.txt
Referências:
http://stackoverflow.com/questions/6590688/is-it-bad-to-have-my-virtualenv-directory-inside-my-git-repository
http://stackoverflow.com/questions/6812207/how-can-i-correctly-install-multiple-non-package-distribute-virtualenv-pip-ecosys
http://askubuntu.com/questions/232932/in-a-bash-script-what-does-a-dot-followed-by-a-space-and-then-a-path-mean
Bons projetos!
Abs.,
Otávio
----------------------------------------------------------------
ATUALIZAÇÃO (em 13/02/2015): Mas por quê?! Por que rodar o "pip virtualenv*.tar.gz" no passo 4 ??!!
Vou tentar explicar...
Antes de começar o tutorial, não havia nenhum virtualenv, nem pip, nem nada na sua máquina. Quando você executa o passo 3, você roda o virtualenv a partir do código fonte. Ali você está criando um primeiro ambiente (que chamei de ~/py-env0). Só que neste primeiro ambiente, pasme!, não há nenhum virtualenv instalado.
Ahn?
Sabe aquele filme "A Origem" em que as pessoas vivem dentro de um sonho de uma pessoa que está sonhando que está tendo outro sonho? É tipo isso.
No seu ambiente linux (A), não tem virtualenv nenhum instalado:
A (nenhum virtualenv aqui)
No passo 3 você cria o primeiro "sonho", um ambiente em ~/py-env0:
A (nenhum virtualenv aqui)
B (~/py-env0, nenhum virtualenv aqui também)
Só que você está criando esse ~/py-env0 (B) justamente para poder ter uma base, um ponto de partida para criar outros ambientes. Então você precisa instalar o virtualenv neste ambiente B. É isso que você faz no passo 4:
A (sem virtualenv)
B (~/py-env0, agora com virtualenv!)
no passo 5, você usa esse virtualenv recém-instalado em B para criar o seu ambiente de projeto (C):
A (nunca terá virtualenv)
B (~/py-env0, o pai de todos os virtualenvs)
C (projeto/env, o filho de B)
Neste ambiente C, depois de ativado (passo 6) você já pode dar "pip install qqcoisa" e instalar qualquer pacote. Pode até dar "pip install virtualenv" e instalar um virtualenv.
Peraí! Então eu poderia ter ativado o ambiente B e usado "pip install virtualenv" lá no passo 4? Sim, jovem gafanhoto. Só que o pip teria baixado de novo um pacote que você tinha acabado de baixar e estava bem à mão, compactado naquele arquivo .tar.gz. Sem nem precisar ativar nada...
É, eu sei... Não faz nenhum sentido... Respire e beba um copo d'água antes de ler o próximo parágrafo.
Se você está batendo cabeça e não conseguiu fazer nada disso, não se desespere. O python 2.7.9 já vem com o pip. Você pode dar um "pip install virtualenv" e ser feliz assim que instalar. Uma hora dessas eu experimento e conto aqui como é.
Abraços,
Otávio
http://stackoverflow.com/questions/4324558/whats-the-proper-way-to-install-pip-virtualenv-and-distribute-for-python
1) Baixar o Virtualenv:
- Fui aqui: https://pypi.python.org/pypi/virtualenv#downloads
- Baixei a versão tar.gz
- A versão foi a 12.0.7, a mais recente no momento
- Para descompactar, rodei o seguinte:
tar xvf virtualenv*
2) Escolher um lugar para o seu ambiente inicial
- O virtualenv cria um ambiente de desenvolvimento isolado. Não é exatamente uma máquina virtual, mas você pode imaginar que é algo parecido.
- No procedimento que estamos adotando, você vai criar um "ambiente zero". É um ambiente de desenvolvimento com as bibliotecas e módulos básicos dos quais você vai derivar ambientes específicos para cada projeto.
- Eu escolhi gravar o meu ambiente inicial em "~/py-env0"
3) Criar o seu ambiente inicial
- Estou usando o python 2.7.8, mas não deve haver diferença para o python 3.
- Rodei o seguinte comando:
python virtualenv.py ~/py-env0
- Eu estava no diretório onde descompactei o arquivo do virtualenv que baixei acima.
4) Instale o virtualenv no seu ambiente inicial:
~/py-env0/bin/pip install virtualenv*.tar.gz
ATUALIZAÇÃO (em 13/02/2015): Meu amigo Paulo Henrique me alertou que este passo é confuso. "Tem que executar o pip sobre o arquivo que eu já descompactei?". É isso mesmo! Se você tiver fé, confie em mim e rode assim mesmo. Se você precisar entender, corra para o fim do post (depois das referências) que eu explico.
5) Crie o ambiente de desenvolvimento do seu projeto:
~/py-env0/bin/virtualenv pasta_do_projeto/env
6) Ative o ambiente de desenvolvimento quando estiver trabalhando nele:
. pasta_do_projeto/env/bin/activate
Repare que o comando começa com um ponto e um espaço. Isso é importante! Isso faz com que o comando seja executado no ambiente (shell) atual.
Na maioria dos sistemas (os que usam o bash), isso equivale a:
source pasta_do_projeto/env/bin/activate
7) Alguns módulos exigem o pacote python-dev:
sudo apt-get install python-dev
PERGUNTA BÔNUS: Você deve versionar o ambiente junto com o projeto?
RESPOSTA: Não. Ao invés disso, versione o arquivo requirements.txt gerado com o comando abaixo:
pip freeze
Para instalar os módulos listados no arquivo, use o seguinte:
pip install -r requirements.txt
Referências:
http://stackoverflow.com/questions/6590688/is-it-bad-to-have-my-virtualenv-directory-inside-my-git-repository
http://stackoverflow.com/questions/6812207/how-can-i-correctly-install-multiple-non-package-distribute-virtualenv-pip-ecosys
http://askubuntu.com/questions/232932/in-a-bash-script-what-does-a-dot-followed-by-a-space-and-then-a-path-mean
Bons projetos!
Abs.,
Otávio
----------------------------------------------------------------
ATUALIZAÇÃO (em 13/02/2015): Mas por quê?! Por que rodar o "pip virtualenv*.tar.gz" no passo 4 ??!!
Vou tentar explicar...
Antes de começar o tutorial, não havia nenhum virtualenv, nem pip, nem nada na sua máquina. Quando você executa o passo 3, você roda o virtualenv a partir do código fonte. Ali você está criando um primeiro ambiente (que chamei de ~/py-env0). Só que neste primeiro ambiente, pasme!, não há nenhum virtualenv instalado.
Ahn?
Sabe aquele filme "A Origem" em que as pessoas vivem dentro de um sonho de uma pessoa que está sonhando que está tendo outro sonho? É tipo isso.
No seu ambiente linux (A), não tem virtualenv nenhum instalado:
A (nenhum virtualenv aqui)
No passo 3 você cria o primeiro "sonho", um ambiente em ~/py-env0:
A (nenhum virtualenv aqui)
B (~/py-env0, nenhum virtualenv aqui também)
Só que você está criando esse ~/py-env0 (B) justamente para poder ter uma base, um ponto de partida para criar outros ambientes. Então você precisa instalar o virtualenv neste ambiente B. É isso que você faz no passo 4:
A (sem virtualenv)
B (~/py-env0, agora com virtualenv!)
no passo 5, você usa esse virtualenv recém-instalado em B para criar o seu ambiente de projeto (C):
A (nunca terá virtualenv)
B (~/py-env0, o pai de todos os virtualenvs)
C (projeto/env, o filho de B)
Neste ambiente C, depois de ativado (passo 6) você já pode dar "pip install qqcoisa" e instalar qualquer pacote. Pode até dar "pip install virtualenv" e instalar um virtualenv.
Peraí! Então eu poderia ter ativado o ambiente B e usado "pip install virtualenv" lá no passo 4? Sim, jovem gafanhoto. Só que o pip teria baixado de novo um pacote que você tinha acabado de baixar e estava bem à mão, compactado naquele arquivo .tar.gz. Sem nem precisar ativar nada...
É, eu sei... Não faz nenhum sentido... Respire e beba um copo d'água antes de ler o próximo parágrafo.
Se você está batendo cabeça e não conseguiu fazer nada disso, não se desespere. O python 2.7.9 já vem com o pip. Você pode dar um "pip install virtualenv" e ser feliz assim que instalar. Uma hora dessas eu experimento e conto aqui como é.
Abraços,
Otávio
Marcadores:
debian,
desenvolvimento,
ferramentas,
python,
tutorial
Assinar:
Postagens (Atom)