Pipenv: Installationsfehler aus Requirements.txt mit -e

Erstellt am 23. Sept. 2017  ·  72Kommentare  ·  Quelle: pypa/pipenv

Immer noch Fehler mit pipenv 7.6.9 beim Versuch, ein Projekt zu portieren. Hier ist ein reduzierter/vereinfachter Fall, der einen reproduzierbaren Fehler zeigt:

$ cat requirements.txt 
Flask==0.9
-e git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=Flask-SQLAlchemy
flask-migrate==1.8.0

$ pipenv install
Creating a virtualenv for this project…
⠋New python executable in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/bin/python2.7
Also creating executable in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ
Requirements.txt found, instead of Pipfile! Converting…
Warning: Your Pipfile now contains pinned versions, if your requirements.txt did. 
We recommend updating your Pipfile to specify the "*" version, instead.
No package provided, installing all dependencies.
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
No handlers could be found for logger "pip.vcs.git"
Updated Pipfile.lock!
Installing dependencies from Pipfile.lock…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:04
An error occured while installing -e git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy! Will try again.
Installing initially–failed dependencies…
Obtaining flask-sqlalchemy from git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy
  Skipping because already up-to-date.
Requirement already satisfied: Flask>=0.9 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: SQLAlchemy>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: Werkzeug>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: Jinja2>=2.4 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: MarkupSafe>=0.23 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from Jinja2>=2.4->Flask>=0.9->flask-sqlalchemy)
Installing collected packages: flask-sqlalchemy
  Found existing installation: Flask-SQLAlchemy 2.1

Exception:
Traceback (most recent call last):
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/req/req_install.py", line 703, in uninstall
    '(at %s)' % (link_pointer, self.name, dist.location)
AssertionError: Egg-link /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/src/flask-sqlalchemy does not match installed location of flask-sqlalchemy (at /Users/philfreo/Sites/foo/pipenv-problem)

  ☤  ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/1 — 00:00:00

Alle 72 Kommentare

Bitte geben Sie Ihr Pipfile an.

Bestätigen Sie Ihren Fehler mit diesem Pipfile :

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[dev-packages]

[packages]

Flask = "==0.9"
"Flask-SQLAlchemy" = {ref = "1556d1822c46019e518707af0adc034ad4363ab4", git = "ssh://[email protected]/closeio/flask-sqlalchemy.git", editable = true}
"Flask-Migrate" = "==1.8.0"

den Fehler behoben, auf den Sie stoßen.

Jetzt sehen Sie diese Fehlermeldung:

Collecting flask==0.9
  Using cached Flask-0.9.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/ly/_zv29c116tjghvp91w46rs9c0000gn/T/pip-build-37ja8tfr/flask/setup.py", line 62
        print "Audit requires PyFlakes installed in your system."
                                                                ^
    SyntaxError: Missing parentheses in call to 'print'

    ----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/ly/_zv29c116tjghvp91w46rs9c0000gn/T/pip-build-37ja8tfr/flask/

auf python2 auf master funktioniert bei mir alles gut.

Ich erhalte immer noch den gleichen Fehler bei v7.7.3. Ausgangspunkt: gleiche Requirements.txt oben, noch kein Pipfile, und ich habe zuerst pipenv --rm , um einen Neuanfang zu machen.

$ pipenv install
Creating a virtualenv for this project…
⠋New python executable in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/bin/python2.7
Also creating executable in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ
Requirements.txt found, instead of Pipfile! Converting…
Warning: Your Pipfile now contains pinned versions, if your requirements.txt did. 
We recommend updating your Pipfile to specify the "*" version, instead.
No package provided, installing all dependencies.
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
No handlers could be found for logger "pip.vcs.git"
Updated Pipfile.lock!
Installing dependencies from Pipfile.lock…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:05
An error occured while installing -e git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy! Will try again.
Installing initially–failed dependencies…
Obtaining flask-sqlalchemy from git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy
  Skipping because already up-to-date.
Requirement already satisfied: Flask>=0.9 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: SQLAlchemy>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: Werkzeug>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: Jinja2>=2.4 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: MarkupSafe>=0.23 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from Jinja2>=2.4->Flask>=0.9->flask-sqlalchemy)
Installing collected packages: flask-sqlalchemy
  Found existing installation: Flask-SQLAlchemy 2.1

Exception:
Traceback (most recent call last):
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/req/req_install.py", line 703, in uninstall
    '(at %s)' % (link_pointer, self.name, dist.location)
AssertionError: Egg-link /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/src/flask-sqlalchemy does not match installed location of flask-sqlalchemy (at /Users/philfreo/Sites/foo/pipenv-problem)

  ☤  ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/1 — 00:00:00

Sieht so aus, als hättest du ein Problem mit deiner Python-Installation.

Und ja, Sie haben eine Pipfile.

Versuchen Sie, pipenv install zweimal auszuführen.

Ich meinte, dass ich nicht mit einem Pipfile angefangen habe. Nachdem Sie das obige ausgeführt haben, wurde Folgendes erstellt:

[pipenv-problem] cat Pipfile
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[dev-packages]

[packages]

Flask = "==0.9"
"Flask-SQLAlchemy" = {ref = "1556d1822c46019e518707af0adc034ad4363ab4", git = "ssh://[email protected]/closeio/flask-sqlalchemy.git", editable = true}
"Flask-Migrate" = "==1.8.0"

Das mehrfache Ausführen von pipenv install immer noch jedes Mal zu dem obigen Fehler.

In Bezug auf meine Python-Installation bin ich derzeit über brew pyenv. Ich kann versuchen, pyenv loszuwerden?

bei mir funktioniert alles gut, mit dieser pipfile (auf python 2).

Mache eine 'pipenv-Sperre' und dann 'pipenv install'

und stellen Sie sicher, dass Sie die neueste Version haben, bitte

In den vorherigen Versionen gab es einen Fehler, der dazu führte, dass "flask-sqlalchemy" zweimal die Sperrdatei war. das wurde behoben.

Ich vermute, dass dies die Ursache für Ihr Problem ist.

lock ohne Fehler abgeschlossen, install nicht.

# starting out with a clean slate:
$ rm -rf Flask_SQLAlchemy.egg-info; rm Pipfile Pipfile.lock
$ pipenv --rm
No virtualenv has been created for this project yet!

$ pipenv --version
pipenv, version 7.7.3

$ pipenv lock
Requirements.txt found, instead of Pipfile! Converting…
Warning: Your Pipfile now contains pinned versions, if your requirements.txt did. 
We recommend updating your Pipfile to specify the "*" version, instead.
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
No handlers could be found for logger "pip.vcs.git"
Updated Pipfile.lock!

$ pipenv install
No package provided, installing all dependencies.
Installing dependencies from Pipfile.lock…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:00
An error occured while installing -e git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy! Will try again.
Installing initially–failed dependencies…
Obtaining flask-sqlalchemy from git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy
  Skipping because already up-to-date.
Requirement already satisfied: Flask>=0.9 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: SQLAlchemy>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: Werkzeug>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: Jinja2>=2.4 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: MarkupSafe>=0.23 in /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages (from Jinja2>=2.4->Flask>=0.9->flask-sqlalchemy)
Installing collected packages: flask-sqlalchemy
  Found existing installation: Flask-SQLAlchemy 2.1

Exception:
Traceback (most recent call last):
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/lib/python2.7/site-packages/pip/req/req_install.py", line 703, in uninstall
    '(at %s)' % (link_pointer, self.name, dist.location)
AssertionError: Egg-link /Users/philfreo/.local/share/virtualenvs/pipenv-problem-qZknlxgQ/src/flask-sqlalchemy does not match installed location of flask-sqlalchemy (at /Users/philfreo/Sites/foo/pipenv-problem)
$ pipenv --rm
$ pipenv install

Warum installierst du Flask-sqlalchemy trotzdem aus dem Quellcode? warum ist es editierbar?

Das hat funktioniert! Es scheint also, dass die folgenden Schritte in dieser Reihenfolge _alle_ erforderlich sind, selbst in einem _frischen_ Setup mit nur der obigen Requirements.txt:

pipenv lock
pipenv --rm 
pipenv install

Ich muss Flask-sqlalchemy fork, um seine Anforderungen von Flask >= 0,10 auf 0,9 zu lockern. Flask-sqlalchemy (zumindest für meine Zwecke) funktioniert tatsächlich gut mit Flask 0.9, und ich habe eine große Anwendung, deren Aktualisierung von Flask 0.9 auf Flask 0.10 nicht trivial wäre. Ich verwende nur -e weil mir keine Möglichkeit aufgefallen ist, eine bestimmte GitHub-Commit-SHA anderweitig anzugeben.

Wenn ich einfach das Präfix -e aus meiner Requirements.txt entferne, erhalte ich die folgende Fehlermeldung:

$ pipenv lock
Requirements.txt found, instead of Pipfile! Converting…
Warning: Your Pipfile now contains pinned versions, if your requirements.txt did. 
We recommend updating your Pipfile to specify the "*" version, instead.
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches Flask==0.9,>=0.10,>=0.9
Tried: 0.1, 0.2, 0.3, 0.3.1, 0.4, 0.5, 0.5.1, 0.5.2, 0.6, 0.6.1, 0.7, 0.7.1, 0.7.2, 0.8, 0.8.1, 0.9, 0.10, 0.10.1, 0.11, 0.11, 0.11.1, 0.11.1, 0.12, 0.12, 0.12.1, 0.12.1, 0.12.2, 0.12.2

(Hinweis: Dies ist nur eine reduzierte Requirements.txt, die das Problem zeigt; meine aktuelle Anwendung hat eine viel größere Requirements.txt, die ich in pipenv konvertieren möchte)

Nein, wir haben den Fehler behoben. Sie hatten gerade eine alte Sperrdatei vorhanden, die diese Schritte erforderlich machte.

schön, dass wir deinen Fehler behoben haben!

Nein, der Fehler tritt auch dann auf, wenn keine Sperrdatei vorhanden ist. Schau dir das an:

$ ls -al              
total 8
drwxr-xr-x   4 philfreo  _www   136 Sep 23 17:41 .
drwxr-xr-x  97 philfreo  _www  3298 Sep 23 17:29 ..
drwxr-xr-x   9 philfreo  _www   306 Sep 23 17:41 .git
-rw-r--r--   1 philfreo  _www   151 Sep 23 17:41 requirements.txt

$ cat requirements.txt 
Flask==0.9
-e git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=Flask-SQLAlchemy
flask-migrate==1.8.0

$ pipenv --version
pipenv, version 7.7.3

$ pipenv --rm
No virtualenv has been created for this project yet!

$ pipenv install
Requirements.txt found, instead of Pipfile! Converting…
Warning: Your Pipfile now contains pinned versions, if your requirements.txt did. 
We recommend updating your Pipfile to specify the "*" version, instead.
No package provided, installing all dependencies.
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
No handlers could be found for logger "pip.vcs.git"
Updated Pipfile.lock!
Installing dependencies from Pipfile.lock…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:00
An error occured while installing -e git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy! Will try again.
Installing initially–failed dependencies…
Obtaining flask-sqlalchemy from git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy
  Skipping because already up-to-date.
Requirement already satisfied: Flask>=0.9 in /Users/philfreo/.local/share/virtualenvs/pipenv-test2-NLsCCm1N/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: SQLAlchemy>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-test2-NLsCCm1N/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: Werkzeug>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-test2-NLsCCm1N/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: Jinja2>=2.4 in /Users/philfreo/.local/share/virtualenvs/pipenv-test2-NLsCCm1N/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: MarkupSafe>=0.23 in /Users/philfreo/.local/share/virtualenvs/pipenv-test2-NLsCCm1N/lib/python2.7/site-packages (from Jinja2>=2.4->Flask>=0.9->flask-sqlalchemy)
Installing collected packages: flask-sqlalchemy
  Found existing installation: Flask-SQLAlchemy 2.1

Exception:
Traceback (most recent call last):
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test2-NLsCCm1N/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test2-NLsCCm1N/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test2-NLsCCm1N/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test2-NLsCCm1N/lib/python2.7/site-packages/pip/req/req_install.py", line 703, in uninstall
    '(at %s)' % (link_pointer, self.name, dist.location)
AssertionError: Egg-link /Users/philfreo/.local/share/virtualenvs/pipenv-test2-NLsCCm1N/src/flask-sqlalchemy does not match installed location of flask-sqlalchemy (at /Users/philfreo/Sites/foo/pipenv-test2)

  ☤  ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/1 — 00:00:00

Ich werde ermitteln.

kann nicht reproduzieren

idk, wie Sie dort einen ./src-Ordner bekommen haben, aber er sollte nicht dort sein.

es scheint der Grund für all die Probleme zu sein.

versuch das mal in einem neuen verzeichnis

[_es] mkdir pipenv-test3
[_es] cd pipenv-test3
[pipenv-test3] cp ../pipenv-test2/requirements.txt .

[pipenv-test3] cat requirements.txt 
Flask==0.9
-e git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=Flask-SQLAlchemy
flask-migrate==1.8.0

[pipenv-test3] git init .
Initialized empty Git repository in /Users/philfreo/Sites/_es/pipenv-test3/.git/

[pipenv-test3] ls -al
total 8
drwxr-xr-x   4 philfreo  _www   136 Sep 23 17:51 .
drwxr-xr-x  98 philfreo  _www  3332 Sep 23 17:51 ..
drwxr-xr-x   9 philfreo  _www   306 Sep 23 17:51 .git
-rw-r--r--   1 philfreo  _www   151 Sep 23 17:51 requirements.txt

[pipenv-test3] pipenv --version
pipenv, version 7.7.3

[pipenv-test3] pipenv install
Creating a virtualenv for this project…
⠋New python executable in /Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/bin/python2.7
Also creating executable in /Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_
Requirements.txt found, instead of Pipfile! Converting…
Warning: Your Pipfile now contains pinned versions, if your requirements.txt did. 
We recommend updating your Pipfile to specify the "*" version, instead.
No package provided, installing all dependencies.
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
No handlers could be found for logger "pip.vcs.git"
Updated Pipfile.lock!
Installing dependencies from Pipfile.lock…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:05
An error occured while installing -e git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy! Will try again.
Installing initially–failed dependencies…
Obtaining flask-sqlalchemy from git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy
  Skipping because already up-to-date.
Requirement already satisfied: Flask>=0.9 in /Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: SQLAlchemy>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: Werkzeug>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: Jinja2>=2.4 in /Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: MarkupSafe>=0.23 in /Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/lib/python2.7/site-packages (from Jinja2>=2.4->Flask>=0.9->flask-sqlalchemy)
Installing collected packages: flask-sqlalchemy
  Found existing installation: Flask-SQLAlchemy 2.1

Exception:
Traceback (most recent call last):
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/lib/python2.7/site-packages/pip/req/req_install.py", line 703, in uninstall
    '(at %s)' % (link_pointer, self.name, dist.location)
AssertionError: Egg-link /Users/philfreo/.local/share/virtualenvs/pipenv-test3-FjinwMF_/src/flask-sqlalchemy does not match installed location of flask-sqlalchemy (at /Users/philfreo/Sites/_es/pipenv-test3)

  ☤  ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/1 — 00:00:00

Ich bin mir nicht sicher, ob es hilft, aber nachdem ich das oben genannte getan habe, habe ich auch Folgendes:

[pipenv-test3] ls -l
total 24
drwxr-xr-x  8 philfreo  _www   272 Sep 23 17:52 Flask_SQLAlchemy.egg-info
-rw-r--r--  1 philfreo  _www   304 Sep 23 17:52 Pipfile
-rw-r--r--  1 philfreo  _www  3940 Sep 23 17:52 Pipfile.lock
-rw-r--r--  1 philfreo  _www   151 Sep 23 17:51 requirements.txt

Ich hätte erwartet, dass sich das Flask_SQLAlchemy.egg-info-Verzeichnis in der virtualenv befindet. So hat es mit meinem traditionellen pip/virtualenv/requirements.txt-Setup funktioniert, obwohl dies vielleicht in pipenv für -e beabsichtigt ist.

das ist zu erwarten.

obwohl wir das vielleicht verbessern können

Und um es klar zu sagen, ich habe keinen Grund, -e außer "Es scheint keinen anderen Arbeitsweg zu geben, um einen bestimmten Github-Commit-SHA eines gegabelten Pakets zu installieren"

Warum zeigst du mir nicht dein vollständiges Pipfile?

und ich zeige dir was ich tun würde

Hier ist, was pipenv aus der Requirements.txt im OP hier generiert.

[pipenv-test3] cat Pipfile
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[dev-packages]

[packages]

Flask = "==0.9"
"Flask-SQLAlchemy" = {ref = "1556d1822c46019e518707af0adc034ad4363ab4", git = "ssh://[email protected]/closeio/flask-sqlalchemy.git", editable = true}
"Flask-Migrate" = "==1.8.0"

Ich meinte deinen "vollen", den Produktions-

Hier:

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[dev-packages]

[packages]

Flask = "*"
"Flask-SQLAlchemy" = {ref = "1556d1822c46019e518707af0adc034ad4363ab4", git = "ssh://[email protected]/closeio/flask-sqlalchemy.git"}
"Flask-Migrate" = "==1.8.0"

Sie möchten jedoch wahrscheinlich editable = true, da dann alle Unterabhängigkeiten in die Sperrdatei gezogen werden.

andernfalls tun sie es nicht.

Unsere Anwendung hat jedoch eine harte Anforderung an Flask 0.9 (für uns kein triviales Upgrade).

Production Requirements.txt ist 201 Zeilen lang, wobei alle Pakete auf eine bestimmte Version eingefroren sind. Leider glaube ich nicht, dass ich das Ganze aus Sicherheitsgründen öffentlich teilen kann. Ich habe dies als vereinfachten Fall – es ist eine Teilmenge der Produktionsdatei – des Problems erstellt, auf das wir bei der vollständigen App gestoßen sind.

ah, wenn ich dir helfen kann, wenn es soweit ist, lass es mich wissen.

um es klar zu sagen: editierbar == sub-deps werden aufgelöst/gesperrt.

nicht editierbar == alles funktioniert wie erwartet, aber keine Dep-Auflösung, keine Sub-Dep-Sperre.

Siehe das Problem hier ist Flask-Sqlalchemy erfordert Flask >=0.9.

Ja, ich weiß - aber da es für uns kein _tatsächliches_ Problem gibt, wenn wir Flask-Sqlalchemy mit Flask 0.9 ausführen (im Grunde hat ihre setup.py strengere Anforderungen als nötig), sollte meine Gabel nicht funktionieren?

Sie haben es irgendwie geschafft, eine Abhängigkeitsinkongruenz mit diesem spezifischen Satz von Abhängigkeiten auf magische Weise zu vermeiden. Muss ein Implementierungsdetail sein, wie der Resolver von pip-tool geschrieben ist. Du hattest im Grunde Glück :)

Anders ausgedrückt: Es ist nicht ungewöhnlich für uns, ein öffentliches pypi-Paket zu forken, um einige Optimierungen vorzunehmen - einige davon haben nichts mit Abhängigkeiten zu tun. Scheint so, als ob diese Forks nur mit -e installiert werden können? Dies scheint ein Beispiel für ein größeres Muster zu sein, von dem ich denke, dass es funktionieren sollte?

Betreibst du deinen eigenen Pypi-Index?

Nein

dann ja.

Ansonsten haben wir eine andere Lösung:

https://pipenv.readthedocs.io/en/latest/advanced.html#specifying -package-indexes

-e ist der richtige Weg. Ich werde mich darum kümmern, die Egg-Links in das venv zu installieren, anstatt sie im Projektverzeichnis zu vermüllen.

Okay. Ich verstehe dieses Zeug nicht besonders gut, aber es scheint immer noch ein Fehler zu sein, dass ich lock , dann --rm und dann install für diese Requirements.txt machen muss. Es ist eine gute Lösung für mein Problem (danke für die Hilfe, das herauszufinden), aber es scheint mir immer noch ein Pipenv-Fehler oder ein Usability-Problem zu sein?

Ich werde sehen, ob ich diese Problemumgehung auch für meine Produktions-App verwenden kann.

Okay, ich habe einen Patch für die Installation der .egg-Infos in venv/src/

Ich denke, Ihr Fehler liegt daran, dass Sie irgendwo eine Ei-Info herumliegen haben, die dort sein sollte – um das klarzustellen, die Verwendung dieser Pipdatei in einem neuen Verzeichnis funktioniert für mich großartig.

Ich zeigte einen ls -al oben , das zeigt , gibt es keine Ei-info im Projektverzeichnis (und verwenden pipenv --rm ). Oder sagen Sie, dass ich woanders einen haben könnte, wie mein systemweites Python-Verzeichnis?

Jawohl.

Deshalb empfehle ich, pipenv mit pipsi zu installieren https://pipenv.readthedocs.io/en/latest/advanced.html#fancy -installation-of-pipenv

Okay, ich habe gerade die Version 7.7.4 geschnitten, die diesen Patch enthält. Mal sehen, ob das die Dinge für dich verbessert.

Vielen Dank. Ich werde versuchen, alles aufzuräumen und werde das versuchen.

In der Zwischenzeit habe ich ein anderes Problem, wenn ich Dinge in meiner Produktions-App ausprobiere. Ich habe #673 mit Details geöffnet.

danke für die geduld

Mit 7.7.4 installiert pipenv lock immer noch Flask_SQLAlchemy.egg-info im Projektverzeichnis. Ist das zu erwarten?

Sobald ich jedoch eine Sperrdatei habe, lösche ich Flask_SQLAlchemy.egg-info und führe dann pipenv install aus, um sie _nicht_ im Projektverzeichnis zu installieren (installiert stattdessen in der virtuellen Umgebung), also ist das schön!

müssen möglicherweise zusätzliche Argumente an Pip-Tools übergeben

Ich habe pipenv von pip deinstalliert, pipsi installiert und pipenv über pipsi installiert ( im Anschluss daran ) und es erneut von Grund auf versucht.

Selbst dann musste ich immer noch den lock / --rm / install Tanz machen, damit es funktionierte. Von Grund auf neu:

[_es] mkdir pipenv-test4
[_es] cd pipenv-test4
[pipenv-test4] cp ../pipenv-test3/requirements.txt .

[pipenv-test4] which python
/Users/philfreo/.pyenv/shims/python

[pipenv-test4] python --version
Python 2.7.12

[pipenv-test4] pipenv --version
pipenv, version 7.7.4

[pipenv-test4] which pipenv
/Users/philfreo/.local/bin/pipenv

[pipenv-test4] pipsi --version
pipsi, version 0.9, python /Users/philfreo/.local/venvs/pipsi/bin/python2.7

[pipenv-test4] pipenv install
Creating a virtualenv for this project…
⠋New python executable in /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/bin/python2.7
Also creating executable in /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc
Requirements.txt found, instead of Pipfile! Converting…
Warning: Your Pipfile now contains pinned versions, if your requirements.txt did. 
We recommend updating your Pipfile to specify the "*" version, instead.
No package provided, installing all dependencies.
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
No handlers could be found for logger "pip.vcs.git"
Updated Pipfile.lock!
Installing dependencies from Pipfile.lock…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:04
An error occured while installing -e git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy! Will try again.
Installing initially–failed dependencies…
Obtaining flask-sqlalchemy from git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy
  Skipping because already up-to-date.
Requirement already satisfied: Flask>=0.9 in /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: SQLAlchemy>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/lib/python2.7/site-packages (from flask-sqlalchemy)
Requirement already satisfied: Werkzeug>=0.7 in /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: Jinja2>=2.4 in /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/lib/python2.7/site-packages (from Flask>=0.9->flask-sqlalchemy)
Requirement already satisfied: MarkupSafe>=0.23 in /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/lib/python2.7/site-packages (from Jinja2>=2.4->Flask>=0.9->flask-sqlalchemy)
Installing collected packages: flask-sqlalchemy
  Found existing installation: Flask-SQLAlchemy 2.1

Exception:
Traceback (most recent call last):
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/lib/python2.7/site-packages/pip/req/req_install.py", line 703, in uninstall
    '(at %s)' % (link_pointer, self.name, dist.location)
AssertionError: Egg-link /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/src/flask-sqlalchemy does not match installed location of flask-sqlalchemy (at /Users/philfreo/Sites/_es/pipenv-test4)

  ☤  ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/1 — 00:00:00


[pipenv-test4] ls -l
total 24
drwxr-xr-x  8 philfreo  _www   272 Sep 23 19:05 Flask_SQLAlchemy.egg-info
-rw-r--r--  1 philfreo  _www   304 Sep 23 19:05 Pipfile
-rw-r--r--  1 philfreo  _www  3940 Sep 23 19:05 Pipfile.lock
-rw-r--r--  1 philfreo  _www   151 Sep 23 19:04 requirements.txt

[pipenv-test4] rm -rf Flask_SQLAlchemy.egg-info 

[pipenv-test4] pipenv --rm
Removing virtualenv (/Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc)…

[pipenv-test4] pipenv install
Creating a virtualenv for this project…
⠋New python executable in /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/bin/python2.7
Also creating executable in /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc
No package provided, installing all dependencies.
Installing dependencies from Pipfile.lock…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:04
To activate this project's virtualenv, run the following:
 $ pipenv shell

Egg-link /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/src/flask-sqlalchemy woher kommt das?

Ich weiß nicht... Ich habe versucht zu zeigen, wie ich neu anfange. Vielleicht im Zusammenhang mit diesen Zeilen:

Installing dependencies from Pipfile.lock…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:04
An error occured while installing -e git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy! Will try again.
Installing initially–failed dependencies…
Obtaining flask-sqlalchemy from git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=flask-sqlalchemy
  Skipping because already up-to-date.

Was ist der "Fehler"/"Fehler", der dazu führt, dass es erneut versucht wird? Und vielleicht wird dort der Pfad installiert, nach dem Sie fragen?

Frage mich, warum es beim ersten Mal fehlschlägt.

Ich kann das auf meinem Rechner nicht reproduzieren.

Okay, ich glaube ich habe die Ursache des Problems gefunden.

Versuchen Sie es mit Version 7.7.5.

und lösche alle Ei-Infos, die du zuerst siehst

Es klappt! 🎆 👍 🍻 🙌

[pipenv-test4] pipenv --rm
No virtualenv has been created for this project yet!

[pipenv-test4] pipenv --version
pipenv, version 7.7.5

[pipenv-test4] ls -al
total 8
drwxr-xr-x   4 philfreo  _www   136 Sep 23 19:54 .
drwxr-xr-x  99 philfreo  _www  3366 Sep 23 19:04 ..
drwxr-xr-x   9 philfreo  _www   306 Sep 23 19:54 .git
-rw-r--r--   1 philfreo  _www   151 Sep 23 19:04 requirements.txt

[pipenv-test4] pipenv install
Creating a virtualenv for this project…
⠋New python executable in /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/bin/python2.7
Also creating executable in /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /Users/philfreo/.local/share/virtualenvs/pipenv-test4-KJKuC2dc
Requirements.txt found, instead of Pipfile! Converting…
Warning: Your Pipfile now contains pinned versions, if your requirements.txt did. 
We recommend updating your Pipfile to specify the "*" version, instead.
No package provided, installing all dependencies.
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Flask==0.9
Flask-Migrate==1.8.0
-e git+ssh://[email protected]/closeio/flask-sqlalchemy.git@1556d1822c46019e518707af0adc034ad4363ab4#egg=Flask-SQLAlchemy
No handlers could be found for logger "pip.vcs.git"
Updated Pipfile.lock!
Installing dependencies from Pipfile.lock…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:04
To activate this project's virtualenv, run the following:
 $ pipenv shell

Vielen Dank für all die Hilfe / Korrekturen bisher!! Ich werde sehen, welche Fortschritte ich jetzt bei der Konvertierung der Produktions-App machen kann.

✨🍰✨

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen