Ich versuche, das hier aufgeführte Tutorial zu befolgen: https://medium.com/@ssola/building -microservices-with-python-part-3-a556a4c4bc00
swagger-ui pip extra kann nicht installiert werden
Installation sollte swagger-ui . installiert haben
no matches found: connexion[swagger-ui]
pip install connexion[swagger-ui]:
Ausgabe der Befehle:
python --version
Python 3.6.7 :: Anaconda, Inc.
pip show connexion | grep "^Version\:"
Version: 2.0.1
Hey @mas-dse-juremigi
Ich konnte den Fehler nicht reproduzieren. Ein paar Fragen an dich:
pip install connexion[tests]
?pip --version
?Folgendes habe ich versucht:
✔ /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
Sie können auch einfach swagger-ui-bundle
installieren, um die Blockierung zu entsperren.
Trotzdem lohnt es sich herauszufinden, warum der in den Dokumenten angegebene Weg für Sie nicht funktioniert hat.
Wir haben ein ähnliches Problem unter Windows 10 entdeckt. Auf meinem Entwickler-Mac funktionierte connexion['swagger=ui']
wie erwartet.
Die Nachricht no matches found
stammt wahrscheinlich von der Zsh-Shell. Hier ist die vollständige Nachricht auf meinem System (beachte das zsh: am Anfang):
zsh: no matches found: connexion[swagger-ui]
Dies wird durch die Zsh-Dateinamengenerierung verursacht, siehe 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.
Grundsätzlich versucht Zsh, das "Muster" in Dateinamen wie connexions
, connexionw
, connexiona
usw. zu erweitern. Andere Shells (zB Bash) haben diese Art von erweitern oder standardmäßig deaktivieren. Für Zsh muss der Parameter in Anführungszeichen gesetzt werden.
Sieht aus wie zsh
:
```
hjacobs@mycomputer :~$ zsh
mycomputer% pip install connexion[swagger-ui] --user
zsh: keine Treffer gefunden: connexion[swagger-ui]
pip install "connexion[swagger-ui]"
hat bei mir funktioniert
Kann jemand dies in eine Anforderungsdatei formatieren?
Hallo Leute, hat jemand eine Möglichkeit in die Anforderungsdatei aufzunehmen?
@johanngomes verspätete Antwort, aber ich hatte das gleiche Problem bei der Bereitstellung in Google App Engine (zweite Generation). Connexion lässt sich problemlos installieren, aber das Extra [swagger-ui]
aus irgendeinem Grund nicht.
Wie @dtkav erwähnt, fügen Sie einfach swagger-ui-bundle
zu Ihrer Anforderungsdatei hinzu (das ist sowieso alles, was das zusätzliche Paket bei der Installation tut).
Unten ist die Ausgabe, die ich erhalte, wenn ich pipenv
, um eine requirements.txt
Datei zu speichern (andere Abhängigkeiten entfernt)
Befehl:
pipenv lock -r
connexion[swagger-ui]==2.7.0
Hilfreichster Kommentar
pip install "connexion[swagger-ui]"
hat bei mir funktioniert