I'm new to python and running the command:
pip install pysam
Which results in:
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.
What is the problem here?
Originally I got an error about cython not being installed, so i ran pip install cython and that was able to run that without issue.
There are many binary wheels at PyPI but only for Linux and MacOS X. The package at bioconda is also compiled only for Linux and OS X.
When you try to install pysam at Windows pip
downloads the source distribution pysam-0.15.4.tar.gz
, unpacks it and runs setup.y
pysam's setup.py
configures library htslib
by running script htslib/configure
. This is a shell script, it cannot be run in Windows without a Unix emulation layer. Hence the error.
Bottom line: like many pieces of software related to genetics (I have some experience with software written in Python and Java) pysam
seems to be usable only on Unix, preferably Linux or OS X.