#python #cmd #conda #bioinformatics #windows-subsystem-for-linux
#python #cmd #conda #биоинформатика #windows-subsystem-for-linux
Вопрос:
Я пытаюсь разработать графический интерфейс на python для анализа данных tRNA-Seq, которые можно запускать в Linux и Windows. Для этого необходимо запустить некоторые программы, такие как: bowtie2, samtools или bedtools, которые могут быть легко загружены anaconda в Linux, но являются головной болью в Windows. Эти программы нельзя загрузить в Windows, поэтому мне пришлось установить подсистему Windows для Linux (WSL) и попытался загрузить таким образом.
Я разработал следующий скрипт на Python (anaconda_setup.py ) за то, что сделал это:
import os
#Download the file for Linux, altough this script will run only on Windows Subsystem for Linux
os.system('curl -O https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh')
#Checking the integrity of the file
os.system('sha256sum Anaconda3-2020.07-Linux-x86_64.sh')
#Running the .sh script
os.system('bash Anaconda3-2020.07-Linux-x86_64.sh')
#Compiling from source
os.system('source ~/.bashrc')
os.system('Anaconda3-2020.07-Linux-x86_64.sh')
#Using conda to install bowtie2, samtools and bedtools
os.system('conda install -c bioconda bowtie2')
os.system('conda install -c bioconda samtools')
os.system('conda install -c bioconda bedtools')
И затем я использую следующий код в основном скрипте для вызова другого скрипта:
import os
...
os.system("wsl python3 anaconda_setup.py")
При этом anaconda устанавливается правильно, но я не уверен, установлена ли она в Windows или в WSL. Но я получил следующую ошибку:
sh: 1: источник: не найден sh: 1: conda: не найден sh: 1: conda: не найден sh: 1: conda: не найден
С другой стороны, я вошел в WSL из CMD и могу запустить conda.exe и conda вручную, но я не могу сделать это автоматически. Более того, из CMD я не могу запустить: «wsl conda» (ошибка: / bin / bash: conda: команда не найдена), но я могу запустить wsl conda.exe без каких-либо проблем.
Есть идеи, что я делаю не так или как я могу это исправить?
Большое вам спасибо.
Комментарии:
1. Попытка сделать это с помощью Python излишне усложняет ситуацию. Вместо этого подумайте о написании сценария BASH.
2. Спасибо за вашу идею! Но я попробовал это, и я получил ту же ошибку. Когда я нахожусь на wsl, я могу запустить команду conda, но из cmd я не могу запустить wsl conda, та же ошибка: 1: conda: не найден
Ответ №1:
Используйте установщики Linux для anaconda, чтобы установить anaconda для wsl2
wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh
проверьте conda
, выполняется ли команда, если нет, путь должен быть экспортирован в .bashrc
файл
export PATH=/home/user/anaconda3/bin:$PATH
запустите conda
еще раз, теперь он будет работать. Вы можете установить необходимое программное обеспечение с помощью conda в wsl2.
Надеюсь, это вам поможет. Для получения дополнительной информации посетите этот пост
Ответ №2:
Вот шаги, которые вы можете выполнить.
- у вас должен быть установлен Ubuntu terminal. Если нет, загрузите его из Microsoft Store.
- После установки Ubuntu установите wget с помощью команды
sudo apt install wget
- Установите miniconda, потому что miniconda — это более легкая версия anaconda, которая сэкономит много места.
- Загрузите установщик miniconda.
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
- Установите miniconda
bash Miniconda3-latest-Linux-x86_64.sh
- путь экспорта
export PATH=~/miniconda3/bin:$PATH
- Установите bowtie2 с помощью канала bioconda
conda install -c bioconda bowtie2