Instalação de Biopython

3

Instalei o python-biopython e o usei com sucesso em meus scripts python com algo como:

import Bio

Mas, eventualmente, parou de funcionar e agora, mesmo após a desinstalação e reinstalação, não consigo importar com êxito com o python 2.7x. Eu recebo o seguinte erro:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named Bio

Saídas solicitadas:

Saída da política do apt-cache python-biopython:

python-biopython:
  Installed: 1.63-1
  Candidate: 1.63-1
  Version table:
 *** 1.63-1 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status

Saída de find $ (python -c "import sys; print '\ n'.join (sys.path)") -tipo d -name' Bio ':

find: '/home/alex/anaconda/lib/python27.zip': No such file or directory
find: '/home/alex/anaconda/lib/python2.7/lib-old': No such file or directory

Saída de python -c "import sys; print '\ n'.join (sys.path)" Não parece que o biopython está listado:

/home/alex/anaconda/lib/python27.zip
/home/alex/anaconda/lib/python2.7
/home/alex/anaconda/lib/python2.7/plat-linux2
/home/alex/anaconda/lib/python2.7/lib-tk
/home/alex/anaconda/lib/python2.7/lib-old
/home/alex/anaconda/lib/python2.7/lib-dynload
/home/alex/anaconda/lib/python2.7/site-packages
/home/alex/anaconda/lib/python2.7/site-packages/Sphinx-1.3.1-py2.7.egg
/home/alex/anaconda/lib/python2.7/site-packages/cryptography-0.9.1-py2.7-linux-x86_64.egg
/home/alex/anaconda/lib/python2.7/site-packages/setuptools-18.1-py2.7.egg

Saída do python de política do apt-cache:

python:
  Installed: 2.7.5-5ubuntu3
  Candidate: 2.7.5-5ubuntu3
  Version table:
 *** 2.7.5-5ubuntu3 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status
    
por The Nightman 23.09.2015 / 19:19

2 respostas

1

Eu acho que é um problema com o PATH do Python. Provavelmente sua instalação não procura pacotes no diretório em que o Biopython instala seus arquivos.

Etapa 1 - Verificando o diretório de instalação do PATH e Biopython do Python:

Por favor, verifique a configuração PATH do seu Python 2 com o seguinte comando:

python -c "import sys; print('\n'.join(sys.path))"

De acordo com o conteúdo do pacote de python-biopython versão 1.64, ele instalará o diretório Bio package em /usr/lib/python2.7/dist-packages/ , portanto, se esse diretório estiver ausente no seu PATH do Python, identificamos a causa do erro.

Etapa 2 - Tentando uma correção temporária:

Você pode adicionar um diretório à variável PATH do Python, definindo a variável de ambiente do shell PYTHONPATH antes de iniciar o interpretador:

PYTHONPATH="/usr/lib/python2.7/dist-packages" python

Nesta sessão do Python, você agora deve poder usar o pacote Biopython. Depois de verificar que funciona, podemos continuar com ...

Etapa 3 - Tornando a correção permanente:

O Python tem um diretório onde procura por arquivos de configuração de caminho ( *.pth ). Descobrimos qual diretório está em sua instalação com o comando:

PythonSiteDir=$(python -c "import site; site._script()" --user-site)
echo $PythonSiteDir

Primeiro, armazena o caminho na variável $PythonSiteDir e, em seguida, envia para o terminal. No seu caso, ele provavelmente mostrará o diretório /home/alex/anaconda/lib/python2.7/site-packages , mas se não, por favor use seu respectivo diretório.

Nós temos que colocar nosso arquivo .pth personalizado neste diretório, então primeiro nós nos certificamos de que não sobrescrevemos acidentalmente um arquivo existente, verificando quais arquivos de configuração de caminho já existem lá. Para evitar muita digitação, usamos a variável que criamos anteriormente:

ls ${PythonSiteDir}/*.pth

Todos os nomes de arquivo exibidos por este comando já existem e não podem ser usados. Assumindo que biopython_directory.pth não estava na lista, criaremos esse arquivo e deixaremos que ele contenha o caminho em que o Biopython está instalado:

echo "/usr/lib/python2.7/dist-packages" > ${PythonSiteDir}/biopython_directory.pth

Isso foi tudo. A única coisa que resta agora é testar se funcionou. Você pode começar a usar o Biopython novamente ou verificar primeiro o caminho atual do Python com o comando acima:

python -c "import sys; print('\n'.join(sys.path))"

Origem / inspiração para o passo 3: link

    
por Byte Commander 23.09.2015 / 19:47
0

Gostaria de responder como comentário, mas preciso de reputação para escrever comentários. Então, eu escrevo aqui.

Eu uso o sistema ready-made virtualbox qiime. Como eu sei, nesse sistema, O QIIME usa um método de configuração de caminho diferente. No arquivo ".bashrc" ele usa activate.sh como

source /home/qiime/qiime_software/activate.sh

No arquivo activate.sh, você pode encontrar as linhas

export PYTHONPATH=/home/qiime/.../:/home/qiime/.../:
/usr/local/lib/python2.7/dist-packages/'

Você deve editar o arquivo adicionando ": /usr/local/lib/python2.7/dist-packages/" após os caminhos e executar o arquivo novamente usando o seguinte comando

source /home/iime/qiime_software/activate.sh

Eu obtive uma solução aqui da sua pergunta e resposta. obrigada.

    
por mgenome 31.10.2015 / 02:44

Tags