Почему не удается установить пакет pysam python? - PullRequest
0 голосов
/ 13 февраля 2020

Я новичок в python и запускаю команду:

pip install pysam

Что приводит к:

Collecting pysam
  Using cached https://files.pythonhosted.org/packages/25/7e/098753acbdac54ace0c6dc1f8a74b54c8028ab73fb027f6a4215487d1fea/pysam-0.15.4.tar.gz
    ERROR: Command errored out with exit status 1:
     command: 'c:\path\programs\python\python38\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\path\\Local\\Temp\\pip-install-qzuue1yz\\pysam\\setup.py'"'"'; __file__='"'"'C:\\path\\Temp\\pip-install-qzuue1yz\\pysam\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
    Complete output (23 lines):
    # pysam: cython is available - using cythonize if necessary
    # pysam: htslib mode is shared
    # pysam: HTSLIB_CONFIGURE_OPTIONS=None
    '.' is not recognized as an internal or external command,
    operable program or batch file.
    '.' is not recognized as an internal or external command,
    operable program or batch file.
      File "<string>", line 1, in <module>
      File "C:\path\Local\Temp\pip-install-qzuue1yz\pysam\setup.py", line 241, in <module>
        htslib_make_options = run_make_print_config()
      File "C:\path\\Local\Temp\pip-install-qzuue1yz\pysam\setup.py", line 68, in run_make_print_config
        stdout = subprocess.check_output(["make", "-s", "print-config"])
      File "c:\path\programs\python\python38\lib\subprocess.py", line 411, in check_output
        return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
      File "c:\path\programs\python\python38\lib\subprocess.py", line 489, in run
      File "c:\path\programs\python\python38\lib\subprocess.py", line 854, in __init__
        self._execute_child(args, executable, preexec_fn, close_fds,
      File "c:\path\programs\python\python38\lib\subprocess.py", line 1307, in _execute_child
        hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
    FileNotFoundError: [WinError 2] The system cannot find the file specified
    # pysam: htslib configure options: None
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

В чем здесь проблема?

Изначально я получил сообщение об ошибке, что Cython не был установлен, поэтому я запустил pip install cython, и я смог запустить его без проблем.

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

В PyPI есть много двоичных колес , но только для Linux и MacOS X. Пакет в bioconda также скомпилирован только для Linux и OS X.

При попытке установить pysam на Windows pip загружает исходный дистрибутив pysam-0.15.4.tar.gz, распаковывает его и запускает setup.y

pysam's setup.py configures library htslib по запуск скрипт htslib/configure. Это сценарий оболочки, его нельзя запустить в Windows без слоя эмуляции Unix. Отсюда ошибка.

Итог: как и многие программные продукты, связанные с генетикой (у меня есть некоторый опыт работы с программами, написанными на Python и Java) pysam, кажется, можно использовать только на Unix предпочтительно Linux или OS X.

0 голосов
/ 13 февраля 2020

если у вас есть анаконда, попробуйте это:

conda install -c bioconda pysam

...