Que arquivo edito e como? Criei um ambiente virtual.
virtualenvwrapper
comando. Não faz parte virtualenv
.
Que arquivo edito e como? Criei um ambiente virtual.
virtualenvwrapper
comando. Não faz parte virtualenv
.
Respostas:
EDITAR # 2
A resposta certa é a de @arogachev .
Se você deseja alterar o PYTHONPATH
usado em um virtualenv, pode adicionar a seguinte linha ao bin/activate
arquivo do virtualenv :
export PYTHONPATH="/the/path/you/want"
Dessa forma, o novo PYTHONPATH
será definido cada vez que você usar este virtualenv.
EDITAR: (para responder ao comentário de @RamRachum)
Para restaurá-lo ao seu valor original em deactivate
, você pode adicionar
export OLD_PYTHONPATH="$PYTHONPATH"
antes da linha mencionada anteriormente e adicione a seguinte linha ao seu bin/postdeactivate
script.
export PYTHONPATH="$OLD_PYTHONPATH"
deactivate
?
PYTHONPATH
(o global) em vez do caminho local virtualenv?
O comentário de @ s29 deve ser uma resposta:
Uma maneira de adicionar um diretório ao ambiente virtual é instalar o virtualenvwrapper (que é útil para muitas coisas) e depois fazer
mkvirtualenv myenv
workon myenv
add2virtualenv . #for current directory
add2virtualenv ~/my/path
Se você deseja remover este caminho edite o arquivo myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth
A documentação sobre virtualenvwrapper pode ser encontrada em http://virtualenvwrapper.readthedocs.org/en/latest/
A documentação específica sobre esse recurso pode ser encontrada em http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html?highlight=add2virtualenv
add2virtualenv -d
Você pode criar um .pth
arquivo que contém o diretório a ser pesquisado e colocá-lo no site-packages
diretório. Por exemplo:
cd $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
echo /some/library/path > some-library.pth
O efeito é o mesmo que adicionar /some/library/path
a sys.path
, e permanecer local para a virtualenv
instalação.
$VIRTUALENV_ROOT/lib/pythonX.Y/site-packages
. Documentos em arquivos .pth: docs.python.org/3.6/library/site.html
pushd "$(venv/bin/python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")" ...path/to/project/venv/lib/python3.7/site-packages ...path/to/project echo ../../../../src > my_project.pth popd
Então eu desativei meu virtualenv e reativei. Agora eu podia executar o código do projeto que exigia saber onde estava o diretório do meu projeto.
/bin/activate
) é uma má prática e instalar ferramentas de terceiros é inferior ao uso de forma integrada para conseguir o mesmo.
cd venv
source bin/activate
export PYTHONPATH='/home/django/srmvenv/lib/python3.4'
python
\>\> import sys
\>\> sys.path
Eu modifiquei meu script de ativação para originar o arquivo .virtualenvrc
, se ele existir no diretório atual, e para salvar / restaurarPYTHONPATH
em ativar / desativar.
Você pode encontrar o activate
script corrigido aqui.. É um substituto para o script de ativação criado pelo virtualenv 1.11.6.
Então eu adicionei algo assim ao meu .virtualenvrc
:
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"
Já foi respondido aqui -> Meu ambiente virtual (python) está causando a quebra de meu PYTHONPATH?
Adicione "export PYTHONPATH = / usr / local / lib / python2.0" ao arquivo ~ / .bashrc e forneça-o digitando "source ~ / .bashrc" OU ". ~ / .Bashrc".
1) Vá para o painel de controle 2) Clique duas vezes em Sistema 3) Vá para a guia Avançado 4) Clique em Variáveis de ambiente
Na janela Variáveis do sistema, verifique se você possui uma variável chamada PYTHONPATH. Se você já tiver um, verifique se ele aponta para os diretórios corretos. Se você ainda não tiver um, clique no botão Novo e crie-o.
Como alternativa, você também pode fazer abaixo seu código: -
import sys
sys.path.append("/home/me/mypy")