Я установил био-Python Python и успешно использовал его в моих сценариях Python с чем-то как:
import Bio
Но это в конечном счете прекратило работать и теперь даже после удаления и переустановки, которую я не могу успешно импортировать с Python 2.7x. Я получаю следующую ошибку:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Bio
Требуемые выводы:
Вывод био-Python Python политики способного кэша:
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
Вывод $ находки (Python-c "импортируют sys; распечатайте '\n '.join (sys.path)") - тип d - имя 'Био':
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
Вывод Python-c "импортирует sys; распечатайте '\n '.join (sys.path)", не появляется, что био-Python перечислен:
/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
Вывод Python политики способного кэша:
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
Я предполагаю, что это - проблема с ПУТЕМ Python. Вероятно, Ваша установка не ищет пакеты в каталоге, где Био-Python устанавливает свои файлы.
проверьте установку PATH своего Python 2 со следующей командой:
python -c "import sys; print('\n'.join(sys.path))"
Согласно содержанию пакета python-biopython
версия 1.64, это установит Bio
каталог пакета в /usr/lib/python2.7/dist-packages/
, поэтому если этот каталог будет отсутствовать в Вашем ПУТИ Python, мы определили ошибочную причину.
можно добавить, что каталог к Python СОЕДИНЯЕТ переменную каналом путем установки переменной среды оболочки PYTHONPATH
прежде, чем запустить интерпретатор:
PYTHONPATH="/usr/lib/python2.7/dist-packages" python
На этой сессии Python необходимо теперь смочь использовать пакет Био-Python. После того, как Вы проверили, что это работает, мы можем продолжить...
Python имеет один каталог, где он ищет конфигурационные файлы пути (*.pth
). Мы узнаем, какой каталог это находится в Вашей установке с командой:
PythonSiteDir=$(python -c "import site; site._script()" --user-site)
echo $PythonSiteDir
Это сначала хранит путь в переменной $PythonSiteDir
и затем производит его к терминалу. В Вашем случае это, вероятно, покажет каталог /home/alex/anaconda/lib/python2.7/site-packages
, но в противном случае используйте свой соответствующий каталог вместо этого.
Мы должны поместить наше пользовательское .pth
файл в этот каталог, настолько сначала мы удостоверяемся, что случайно не перезаписываем существующий файл путем проверки, какие конфигурационные файлы пути уже существуют там. Для предотвращения большого ввода мы используем переменную, которую мы создали ранее:
ls ${PythonSiteDir}/*.pth
Все имена файлов, отображенные этой командой, уже существуют и не могут использоваться. Предполагая, что biopython_directory.pth
не был в списке, мы теперь создадим этот файл и позволим ему содержать путь, где Biopython
установлен:
echo "/usr/lib/python2.7/dist-packages" > ${PythonSiteDir}/biopython_directory.pth
, Который был всем. Единственная вещь, оставленная к настоящему времени, состоит в том, чтобы протестировать, работала ли она. Можно или только начать использовать Био-Python снова, или можно сначала проверить текущий Путь Python с командой сверху:
python -c "import sys; print('\n'.join(sys.path))"
Источник/вдохновение для шага 3: https://stackoverflow.com/a/12311321/4464570
Я хотел бы ответить как комментарий, но мне нужна некоторая репутация для записи комментариев. Так, пишу я здесь.
я использую готовый virtualbox qiime система. Как я знаю в той системе, QIIME использует настроенный метод другого пути. В ".bashrc" файле это использует activate.sh как
source /home/qiime/qiime_software/activate.sh
В activate.sh файле, можно найти строки
export PYTHONPATH=/home/qiime/.../:/home/qiime/.../:
/usr/local/lib/python2.7/dist-packages/`
, необходимо отредактировать файл путем добавления ":/usr/local/lib/python2.7/dist-packages /" после путей и выполнить файл снова с помощью после команды
source /home/iime/qiime_software/activate.sh
, я получил решение здесь от вопроса и ответа. спасибо.