Trying to follow tutorial listed here: https://medium.com/@ssola/building-microservices-with-python-part-3-a556a4c4bc00
Unable to install swagger-ui pip extra
Installation should have installed swagger-ui
no matches found: connexion[swagger-ui]
pip install connexion[swagger-ui]:
Output of the commands:
python --versionPython 3.6.7 :: Anaconda, Inc.pip show connexion | grep "^Version\:"Version: 2.0.1Hey @mas-dse-juremigi
I wasn't able to reproduce the bug. A few questions for you:
pip install connexion[tests]?pip --version?Here is what I tried:
✔ /tmp/pip > virtualenv venv
Running virtualenv with interpreter /usr/bin/python2
New python executable in /tmp/pip/venv/bin/python2
Also creating executable in /tmp/pip/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
✔ /tmp/pip > . venv/bin/activate
(venv) ✔ /tmp/pip > pip install connexion[swagger-ui]
Collecting connexion[swagger-ui]
Using cached https://files.pythonhosted.org/packages/0c/ad/69d7947053b960c4eb8229e01aefbd848d8a28a30972a8de52184cfde550/connexion-2.0.1-py2.py3-none-any.whl
Collecting typing>=3.6.1; python_version < "3.6" (from connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/cc/3e/29f92b7aeda5b078c86d14f550bf85cff809042e3429ace7af6193c3bc9f/typing-3.6.6-py2-none-any.whl
Collecting requests>=2.9.1 (from connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/ff/17/5cbb026005115301a8fb2f9b0e3e8d32313142fe8b617070e7baad20554f/requests-2.20.1-py2.py3-none-any.whl
Collecting clickclick>=1.2 (from connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/b6/51/2b04f7a56dcbacc0e3a7cf726e1d88d28866bf488a7a0668582306e1e643/clickclick-1.2.2-py2.py3-none-any.whl
Collecting six>=1.9 (from connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting PyYAML>=3.11 (from connexion[swagger-ui])
Collecting pathlib>=1.0.1; python_version < "3.4" (from connexion[swagger-ui])
Collecting jsonschema<3.0.0,>=2.5.1 (from connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/77/de/47e35a97b2b05c2fadbec67d44cfcdcd09b8086951b331d82de90d2912da/jsonschema-2.6.0-py2.py3-none-any.whl
Collecting flask>=0.10.1 (from connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl
Collecting inflection>=0.3.1 (from connexion[swagger-ui])
Collecting openapi-spec-validator>=0.2.4 (from connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/6e/02/8e436ff26d13dcae0f3b53acf19df7ddde91cbe0ebf98b8c37e884839253/openapi_spec_validator-0.2.4-py2-none-any.whl
Collecting swagger-ui-bundle>=0.0.2; extra == "swagger-ui" (from connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/46/fb/17cf46d8a650f3266ce46eaf6316e20288278c04d1aa3575b82581c7fb0c/swagger_ui_bundle-0.0.2-py2-none-any.whl
Collecting idna<2.8,>=2.5 (from requests>=2.9.1->connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl
Collecting urllib3<1.25,>=1.21.1 (from requests>=2.9.1->connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/62/00/ee1d7de624db8ba7090d1226aebefab96a2c71cd5cfa7629d6ad3f61b79e/urllib3-1.24.1-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests>=2.9.1->connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/56/9d/1d02dd80bc4cd955f98980f28c5ee2200e1209292d5f9e9cc8d030d18655/certifi-2018.10.15-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests>=2.9.1->connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting click>=4.0 (from clickclick>=1.2->connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl
Collecting functools32; python_version == "2.7" (from jsonschema<3.0.0,>=2.5.1->connexion[swagger-ui])
Collecting Werkzeug>=0.14 (from flask>=0.10.1->connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl
Collecting Jinja2>=2.10 (from flask>=0.10.1->connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl
Collecting itsdangerous>=0.24 (from flask>=0.10.1->connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->flask>=0.10.1->connexion[swagger-ui])
Using cached https://files.pythonhosted.org/packages/bc/3a/6bfd7b4b202fa33bdda8e4e3d3acc719f381fd730f9a0e7c5f34e845bd4d/MarkupSafe-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl
Installing collected packages: typing, idna, urllib3, certifi, chardet, requests, PyYAML, click, clickclick, six, pathlib, functools32, jsonschema, Werkzeug, MarkupSafe, Jinja2, itsdangerous, flask, inflection, openapi-spec-validator, swagger-ui-bundle, connexion
Successfully installed Jinja2-2.10 MarkupSafe-1.1.0 PyYAML-3.13 Werkzeug-0.14.1 certifi-2018.10.15 chardet-3.0.4 click-7.0 clickclick-1.2.2 connexion-2.0.1 flask-1.0.2 functools32-3.2.3.post2 idna-2.7 inflection-0.3.1 itsdangerous-1.1.0 jsonschema-2.6.0 openapi-spec-validator-0.2.4 pathlib-1.0.1 requests-2.20.1 six-1.11.0 swagger-ui-bundle-0.0.2 typing-3.6.6 urllib3-1.24.1
(venv) ✔ /tmp/pip > pip freeze | grep swagger
swagger-ui-bundle==0.0.2
You can also just install swagger-ui-bundle to get unblocked.
Still, it's worth figuring out why the stated way in the docs didn't work for you.
We discovered a similar problem on Windows 10. On my dev mac the connexion['swagger=ui'] worked as expected.
The no matches found message probably originates from the Zsh shell. Here's the full message on my system (note the zsh: at the beginning):
zsh: no matches found: connexion[swagger-ui]
This is caused by Zsh filename generation, see man zshexpn:
FILENAME GENERATION
If a word contains an unquoted instance of one of the characters `*',
`(', `|', `<', `[', or `?', it is regarded as a pattern for filename
generation, unless the GLOB option is unset. If the EXTENDED_GLOB
option is set, the `^' and `#' characters also denote a pattern; other‐
wise they are not treated specially by the shell.
Basically, Zsh is trying to expand the "pattern" into filenames like connexions, connexionw, connexiona etc. Other shells (i.e. bash) either don't have that kind of expansion or have it disabled by default. For Zsh, the parameter needs to be quoted.
Looks like zsh:
```
hjacobs@mycomputer:~$ zsh
mycomputer% pip install connexion[swagger-ui] --user
zsh: no matches found: connexion[swagger-ui]
pip install "connexion[swagger-ui]" worked for me
Anyone able to format this into a requirements file?
Hi folks, has anyone managed a way to include in the requirements file?
@johanngomes late reply but I've been facing the same issue trying to deploy to Google App Engine (second generation). Connexion installs just fine but, for whatever reason, the [swagger-ui] extra does not.
As @dtkav mentioned, simply add swagger-ui-bundle to your requirements file (that's all the extra package does when installing anyway)
Below is the output I get when I use pipenv to dump a requirements.txt file (Have removed other dependencies)
Command:
pipenv lock -r
connexion[swagger-ui]==2.7.0
Most helpful comment
pip install "connexion[swagger-ui]"worked for me