Georgetown-IR-Lab / QuickUMLS

System for Medical Concept Extraction and Linking
MIT License
369 stars 95 forks source link

[BUG]Dependency conflicts of QuickUMLS install #83

Open bearnomore opened 2 years ago

bearnomore commented 2 years ago

Describe the bug Followed the instruction and had UMLS installed. The QuickUMLS repo was cloned to my local drive and I used "pip install quickumls" to install. However, it got stuck at the check of "quickumls_simstring>=1.1.5r1" and gave the following messages: `Collecting quickumls_simstring>=1.1.5r1 Using cached quickumls_simstring-1.1.5r1.tar.gz (68 kB) ERROR: Command errored out with exit status 1: command: 'C:\Users\xuyej\anaconda3\envs\d2l\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\xuyej\AppData\Local\Temp\pip-install-ffhfb2bp\quickumls-simstring_acba7539fd584903b6bead76285c87ce\setup.py'"'"'; file='"'"'C:\Users\xuyej\AppData\Local\Temp\pip-install-ffhfb2bp\quickumls-simstring_acba7539fd584903b6bead76285c87ce\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\xuyej\AppData\Local\Temp\pip-pip-egg-info-p7zsz6es' cwd: C:\Users\xuyej\AppData\Local\Temp\pip-install-ffhfb2bp\quickumls-simstring_acba7539fd584903b6bead76285c87ce\ Complete output (7 lines): Traceback (most recent call last): File "", line 1, in File "C:\Users\xuyej\AppData\Local\Temp\pip-install-ffhfb2bp\quickumls-simstring_acba7539fd584903b6bead76285c87ce\setup.py", line 93, in readme = reader.read() File "C:\Users\xuyej\anaconda3\envs\d2l\lib\encodings\cp1252.py", line 23, in decode return codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 471: character maps to

WARNING: Discarding https://files.pythonhosted.org/packages/0f/1b/3ff664369b713936a0f9282cbbd8ce7289f0b14d34971250a504485684a3/quickumls_simstring-1.1.5r1.tar.gz#sha256=e6c6d8ace730ef3d703e2e479694914e544762ee5d37e26536b95001b426666b (from https://pypi.org/simple/quickumls-simstring/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Collecting quickumls Using cached quickumls-1.3.0.post4.tar.gz (20 kB) Requirement already satisfied: spacy>=1.6.0 in c:\users\xuyej\anaconda3\envs\d2l\lib\site-packages (from quickumls) (2.3.5) Using cached quickumls-1.3.post3.tar.gz (20 kB) Using cached quickumls-1.3.post2.tar.gz (20 kB) Using cached quickumls-1.3.post1.tar.gz (20 kB) ERROR: Cannot install quickumls==1.3.0.post4, quickumls==1.3.post1, quickumls==1.3.post2, quickumls==1.3.post3 and quickumls==1.4.0.post1 because these package versions have conflicting dependencies.

The conflict is caused by: quickumls 1.4.0.post1 depends on quickumls_simstring>=1.1.5r1 quickumls 1.3.0.post4 depends on quickumls_simstring>=1.1.5r1 quickumls 1.3.post3 depends on quickumls_simstring>=1.1.5r1 quickumls 1.3.post2 depends on quickumls_simstring>=1.1.5r1 quickumls 1.3.post1 depends on quickumls_simstring>=1.1.5r1

To fix this you could try to:

  1. loosen the range of package versions you've specified
  2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies_`

To Reproduce Follow the instruction of QuickUMLS

Environment

Additional context I checked the pip website about the dependency conflicts "https://pip.pypa.io/en/latest/topics/dependency-resolution/", but none of these helps or makes sense. All backtracking versions of QuickUMLS depend on the same version range of quickumls_simstrings and the right range of quickumls_simstrings is listed in the requirements document. I tried removing this requirement of quickumls_simstrings or specifying a version of quickumls_simstrings, none of these works.

marxerc commented 2 years ago

I ran into the same problem but could solve it by temporarily adding the environment variable PYTHONUTF8=1.