Skip to content

Install of mkdocs fails with nltk 3.5 #2062

@klaascuvelier

Description

@klaascuvelier

Hi,

First of all, thank you for mkdocs. We're using this in our company and are very happy to have it.

I noticed that the installation of mkdocs started failing for us yesterday. After some investigation I found out that the nltk lib had a version bump (3.5) yesterday and that's were it goes wrong.

I was able to use the previous nltk version (3.4.5) by adding it directly to our ci file

pages:
  image: python:3.7-alpine
  stage: 🥾 Bootstrap
  script:
    - pip install nltk==3.4.5
    - pip install mkdocs
    - pip install mkdocs-material
    - mkdocs build

This solves the issue for us.

I am not really used to python and its ecosystem, so perhaps I am overseeing an actual "fix".
But if this is a really issue, I guess the 3.5 nltk version should be blacklisted from the install?

Output of the error
$ pip install mkdocs
18 Collecting mkdocs
19   Downloading mkdocs-1.1-py2.py3-none-any.whl (6.4 MB)
20 Collecting click>=3.3
21   Downloading click-7.1.1-py2.py3-none-any.whl (82 kB)
22 Collecting Jinja2>=2.10.1
23   Downloading Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)
24 Collecting Markdown>=3.2.1
25   Downloading Markdown-3.2.1-py2.py3-none-any.whl (88 kB)
26 Collecting PyYAML>=3.10
27   Downloading PyYAML-5.3.1.tar.gz (269 kB)
28 Collecting tornado>=5.0
29   Downloading tornado-6.0.4.tar.gz (496 kB)
30 Collecting livereload>=2.5.1
31   Downloading livereload-2.6.1-py2.py3-none-any.whl (23 kB)
32 Collecting lunr[languages]==0.5.6
33   Downloading lunr-0.5.6-py2.py3-none-any.whl (36 kB)
34 Collecting MarkupSafe>=0.23
35   Downloading MarkupSafe-1.1.1.tar.gz (19 kB)
36 Requirement already satisfied: setuptools>=36 in /usr/local/lib/python3.8/site-packages (from Markdown>=3.2.1->mkdocs) (46.1.1)
37 Collecting six
38   Downloading six-1.14.0-py2.py3-none-any.whl (10 kB)
39 Collecting future>=0.16.0
40   Downloading future-0.18.2.tar.gz (829 kB)
41 Collecting nltk>=3.2.5; extra == "languages"
42   Downloading nltk-3.5.zip (1.4 MB)
43 Collecting joblib
44   Downloading joblib-0.14.1-py2.py3-none-any.whl (294 kB)
45 Collecting regex
46   Downloading regex-2020.4.4.tar.gz (695 kB)
47 Collecting tqdm
48   Downloading tqdm-4.45.0-py2.py3-none-any.whl (60 kB)
49 Building wheels for collected packages: PyYAML, tornado, MarkupSafe, future, nltk, regex
50   Building wheel for PyYAML (setup.py): started
51   Building wheel for PyYAML (setup.py): finished with status 'done'
52   Created wheel for PyYAML: filename=PyYAML-5.3.1-cp38-cp38-linux_x86_64.whl size=44617 sha256=e51f74894350a12a20b5ed28d79e6bf74a837020d884ed06a1e0a0ca03ec28fb
53   Stored in directory: /root/.cache/pip/wheels/13/90/db/290ab3a34f2ef0b5a0f89235dc2d40fea83e77de84ed2dc05c
54   Building wheel for tornado (setup.py): started
55   Building wheel for tornado (setup.py): finished with status 'done'
56   Created wheel for tornado: filename=tornado-6.0.4-cp38-cp38-linux_x86_64.whl size=415149 sha256=5b834e80e999d01b7fb8a67d6ccbf419fae7fb0920b9a8ddcf2d0fade7357613
57   Stored in directory: /root/.cache/pip/wheels/88/79/e5/598ba17e85eccf2626eab62e4ee8452895636cd542650d450d
58   Building wheel for MarkupSafe (setup.py): started
59   Building wheel for MarkupSafe (setup.py): finished with status 'done'
60   Created wheel for MarkupSafe: filename=MarkupSafe-1.1.1-py3-none-any.whl size=12629 sha256=a03aedf2140733fd4e1c3d47f1ffa26335ddd2a349b60e108ceb84e48612998b
61   Stored in directory: /root/.cache/pip/wheels/0c/61/d6/4db4f4c28254856e82305fdb1f752ed7f8482e54c384d8cb0e
62   Building wheel for future (setup.py): started
63   Building wheel for future (setup.py): finished with status 'done'
64   Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491058 sha256=6d781ad44d7230964ab437b2036b2b382186d0083039960587eeb76d1eb3f93b
65   Stored in directory: /root/.cache/pip/wheels/8e/70/28/3d6ccd6e315f65f245da085482a2e1c7d14b90b30f239e2cf4
66   Building wheel for nltk (setup.py): started
67   Building wheel for nltk (setup.py): finished with status 'done'
68   Created wheel for nltk: filename=nltk-3.5-py3-none-any.whl size=1434676 sha256=1f4703ad06f227692f94fed6c4564f56f36b982f86a502fab5af0a2e290f57b6
69   Stored in directory: /root/.cache/pip/wheels/ff/d5/7b/f1fb4e1e1603b2f01c2424dd60fbcc50c12ef918bafc44b155
70   Building wheel for regex (setup.py): started
71   Building wheel for regex (setup.py): finished with status 'error'
72   ERROR: Command errored out with exit status 1:
73    command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-7xy4ih14/regex/setup.py'"'"'; __file__='"'"'/tmp/pip-install-7xy4ih14/regex/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-crjf4cl9
74        cwd: /tmp/pip-install-7xy4ih14/regex/
75   Complete output (17 lines):
76   running bdist_wheel
77   running build
78   running build_py
79   creating build
80   creating build/lib.linux-x86_64-3.8
81   creating build/lib.linux-x86_64-3.8/regex
82   copying regex_3/__init__.py -> build/lib.linux-x86_64-3.8/regex
83   copying regex_3/regex.py -> build/lib.linux-x86_64-3.8/regex
84   copying regex_3/_regex_core.py -> build/lib.linux-x86_64-3.8/regex
85   copying regex_3/test_regex.py -> build/lib.linux-x86_64-3.8/regex
86   running build_ext
87   building 'regex._regex' extension
88   creating build/temp.linux-x86_64-3.8
89   creating build/temp.linux-x86_64-3.8/regex_3
90   gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.8 -c regex_3/_regex.c -o build/temp.linux-x86_64-3.8/regex_3/_regex.o
91   unable to execute 'gcc': No such file or directory
92   error: command 'gcc' failed with exit status 1
93   ----------------------------------------
94   ERROR: Failed building wheel for regex
95   Running setup.py clean for regex
96 Successfully built PyYAML tornado MarkupSafe future nltk
97 Failed to build regex
98 Installing collected packages: click, MarkupSafe, Jinja2, Markdown, PyYAML, tornado, six, livereload, future, joblib, regex, tqdm, nltk, lunr, mkdocs
99     Running setup.py install for regex: started
100     Running setup.py install for regex: finished with status 'error'
101     ERROR: Command errored out with exit status 1:
102      command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-7xy4ih14/regex/setup.py'"'"'; __file__='"'"'/tmp/pip-install-7xy4ih14/regex/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-begr9ft9/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/regex
103          cwd: /tmp/pip-install-7xy4ih14/regex/
104     Complete output (17 lines):
105     running install
106     running build
107     running build_py
108     creating build
109     creating build/lib.linux-x86_64-3.8
110     creating build/lib.linux-x86_64-3.8/regex
111     copying regex_3/__init__.py -> build/lib.linux-x86_64-3.8/regex
112     copying regex_3/regex.py -> build/lib.linux-x86_64-3.8/regex
113     copying regex_3/_regex_core.py -> build/lib.linux-x86_64-3.8/regex
114     copying regex_3/test_regex.py -> build/lib.linux-x86_64-3.8/regex
115     running build_ext
116     building 'regex._regex' extension
117     creating build/temp.linux-x86_64-3.8
118     creating build/temp.linux-x86_64-3.8/regex_3
119     gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.8 -c regex_3/_regex.c -o build/temp.linux-x86_64-3.8/regex_3/_regex.o
120     unable to execute 'gcc': No such file or directory
121     error: command 'gcc' failed with exit status 1
122     ----------------------------------------
123 ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-7xy4ih14/regex/setup.py'"'"'; __file__='"'"'/tmp/pip-install-7xy4ih14/regex/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-begr9ft9/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/regex Check the logs for full command output.
127 ERROR: Job failed: exit code 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions