Pipenv: Erreur d'installation de requirements.txt avec -e

Créé le 23 sept. 2017  ·  72Commentaires  ·  Source: pypa/pipenv

Toujours des erreurs, avec pipenv 7.6.9, essayant de porter un projet. Voici un cas réduit/simplifié montrant une erreur reproductible :

$ 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

Tous les 72 commentaires

Veuillez fournir votre pipfile.

En utilisant ce Pipfile , a confirmé votre bogue :

[[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"

corrigé le bug que vous rencontrez.

Vous verrez maintenant ce message d'erreur :

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/

tout fonctionne bien pour moi sur python2 sur master.

J'ai toujours la même erreur sur la v7.7.3. Point de départ : même requirements.txt ci-dessus, pas encore de Pipfile, et j'ai d'abord exécuté pipenv --rm pour prendre un nouveau départ.

$ 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

il semble que vous ayez un problème avec votre installation python.

Et oui, vous avez un pipfile.

essayez d'exécuter pipenv install deux fois.

Je voulais dire que je n'ai pas commencé avec un Pipfile. Après avoir exécuté ce qui précède, voici ce qui a été créé :

[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"

L'exécution de pipenv install plusieurs fois entraîne toujours l'erreur ci-dessus à chaque fois.

Concernant mon installation python, je suis actuellement pyenv via brew. Je peux essayer de me débarrasser de pyenv?

tout fonctionne bien pour moi, avec ce pipfile (sur python 2).

faire un 'pipenv lock' puis 'pipenv install'

et assurez-vous d'avoir la dernière version, s'il vous plaît

il y avait un bogue dans les versions précédentes, faisant que "flask-sqlalchemy" était le fichier de verrouillage deux fois. cela a été corrigé.

je soupçonne que c'est la cause de ton problème.

lock termine sans erreur, install ne le fait pas.

# 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

Pourquoi installez-vous flask-sqlalchemy à partir des sources de toute façon ? tout pourquoi est-il modifiable?

Ça a marché! Ainsi, il semble que les étapes suivantes soient _toutes_ requises dans cet ordre même dans une configuration _fraîche_ avec rien d'autre que le fichier requirements.txt ci-dessus :

pipenv lock
pipenv --rm 
pipenv install

Je dois fork flask-sqlalchemy afin d'assouplir ses exigences de Flask >= 0,10 à 0,9 à la place. flask-sqlalchemy (au moins pour mes besoins) fonctionne en fait très bien avec Flask 0.9, et j'ai une grande application qui ne serait pas triviale à mettre à jour de Flask 0.9 à Flask 0.10. J'utilise uniquement -e parce que je n'ai pas remarqué un moyen de spécifier un GitHub Commit SHA spécifique autrement.

Si je supprime simplement le préfixe -e de mon requirements.txt, j'obtiens l'erreur suivante :

$ 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

(Remarque : il s'agit simplement d'un fichier requirements.txt réduit qui montre le problème ; mon application actuelle a un fichier requirements.txt beaucoup plus volumineux que j'espère convertir en pipenv)

non, nous avons corrigé le bug. vous venez d'avoir un ancien fichier de verrouillage, ce qui rendait ces étapes nécessaires.

content que nous ayons corrigé votre bug !

Non, l'erreur se produit même en l'absence de fichier de verrouillage. Regarde ça:

$ 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

Je vais me renseigner.

ne peut pas reproduire

idk comment vous avez un dossier ./src là-dedans, mais il ne devrait pas être là.

il semble que ce soit ce qui cause tous les problèmes.

essayez ceci dans un nouveau répertoire

[_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

Je ne sais pas si cela aide, mais après avoir fait ce qui précède, je me retrouve également avec ce qui suit :

[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

Je me serais attendu à ce que le répertoire Flask_SQLAlchemy.egg-info soit à l'intérieur du virtualenv. C'est ainsi que cela fonctionnait avec ma configuration traditionnelle pip/virtualenv/requirements.txt, bien que cela soit peut-être intentionnel dans pipenv pour -e.

C'est à prévoir.

bien que nous puissions améliorer cela peut-être

Et pour être clair, je n'ai aucune raison d'utiliser -e autre que "Il ne semble pas y avoir d'autre moyen de travail pour installer un github commit SHA spécifique d'un package fork"

pourquoi ne me montres-tu pas ton pipfile complet

et je te montrerai ce que je ferais

Voici ce que pipenv génère à partir du fichier requirements.txt dans l'OP ici.

[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"

Je voulais dire votre "complet", celui de la production

Ici:

[[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"

vous voulez probablement editable = true cependant, car alors toutes les sous-dépendances sont extraites du fichier de verrouillage.

sinon, ils ne le font pas.

Notre application a cependant une exigence stricte sur Flask 0.9 (mise à niveau non triviale pour nous).

Production requirements.txt est un fichier de 201 lignes avec tous les packages gelés dans une version spécifique. Malheureusement, je ne pense pas pouvoir tout partager publiquement pour des raisons de sécurité. J'ai créé ceci comme un cas simplifié - c'est un sous-ensemble de fichier de production - du problème que nous avons rencontré avec l'application complète.

ah, eh bien si je peux être utile quand ce moment viendra, faites-le moi savoir.

pour être clair : modifiable == les sous-départements sont résolus/verrouillés.

non modifiable == tout fonctionne comme prévu, mais pas de résolution dep, pas de verrouillage de sous-dep.

Voir le problème ici est que Flask-Sqlalchemy nécessite Flask >=0.9.

Ouais, je sais - mais comme il n'y a pas de problème _réel_ pour nous d'exécuter Flask-Sqlalchemy avec Flask 0.9 (en gros, leur setup.py a une exigence plus stricte que nécessaire), mon fork ne devrait-il pas fonctionner?

Vous avez réussi à éviter comme par magie une incompatibilité de dépendance avec cet ensemble spécifique de dépendances, d'une manière ou d'une autre. Doit être un détail d'implémentation de la façon dont le résolveur de pip-tool est écrit. Tu as eu de la chance, en gros :)

En d'autres termes : il n'est pas rare que nous forkions un paquet public pypi pour faire quelques ajustements - certains d'entre eux n'ont aucun rapport avec les dépendances. On dirait que cette seule façon d'installer ces forks est avec -e ? Cela semble être un exemple d'un modèle plus large qui, selon moi, devrait fonctionner ?

exécutez-vous votre propre index pypi ?

Non

alors oui.

sinon, nous avons une autre solution :

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

-e est la voie à suivre. Je vais voir comment installer les egg-links dans le venv au lieu de les jeter dans le répertoire du projet.

D'accord. Je ne comprends pas très bien ce genre de choses, mais cela semble toujours être un bogue que je dois faire lock , puis --rm , puis install pour ce requirements.txt. C'est une bonne solution de contournement à mon problème (merci d'avoir aidé à le résoudre) mais cela me semble toujours être un bogue pipenv ou un problème de convivialité?

Je vais voir si je peux également utiliser cette solution de contournement sur mon application de production.

d'accord, j'ai un correctif pour installer les informations .egg dans venv/src/

Je pense que votre bogue est dû au fait que vous avez une information sur les œufs quelque part qui devrait être là - pour être clair, l'utilisation de ce pipfile dans un nouveau répertoire fonctionne très bien pour moi.

J'ai montré un ls -al ci - pipenv --rm ). Ou dites-vous que je pourrais en avoir un ailleurs, comme mon répertoire python à l'échelle du système?

Oui.

c'est pourquoi je recommande d'installer pipenv avec pipsi https://pipenv.readthedocs.io/en/latest/advanced.html#fancy -installation-of-pipenv

d'accord, je viens de couper la version 7.7.4, qui contient ce correctif. voir si cela améliore les choses pour vous.

Merci. Je vais essayer de tout nettoyer et je vais essayer.

Pendant ce temps, j'obtiens un problème différent lorsque j'essaie des choses sur mon application de production. J'ai ouvert le #673 avec des détails.

merci pour la patience

Avec 7.7.4 pipenv lock installe toujours Flask_SQLAlchemy.egg-info dans le répertoire du projet. Est-ce attendu ?

Cependant, une fois que j'ai un fichier de verrouillage, supprimer Flask_SQLAlchemy.egg-info puis exécuter pipenv install ne l'installe _pas_ dans le répertoire du projet (il s'installe dans le virtualenv à la place), donc c'est bien !

peut devoir passer des arguments supplémentaires aux outils pip

J'ai désinstallé pipenv de pip, installé pipsi et installé pipenv via pipsi (à la suite de cela ), et j'ai réessayé à partir de zéro.

Même alors, je devais toujours faire la danse lock / --rm / install pour que ça marche. De zéro:

[_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 où ça vient ?

Je ne sais pas... J'ai essayé de montrer comment je repart de zéro. Peut-être en rapport avec ces lignes :

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.

Quelle est l'"erreur"/"l'échec" qui l'amène à réessayer ? Et c'est peut-être là que le chemin que vous demandez est installé ?

Je me demande pourquoi il échoue la première fois.

Je ne peux pas reproduire cela sur ma machine.

bon, je pense avoir trouvé la source du problème.

Essayez la version 7.7.5.

et supprimez toutes les informations sur les œufs que vous voyez en premier

Ça marche! 🎆 👍 🍻 🙌

[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

Merci beaucoup pour toute l'aide / corrections apportées jusqu'à présent !! Je vais voir quel genre de progrès je peux faire sur la conversion de l'application de production maintenant.

??

Cette page vous a été utile?
0 / 5 - 0 notes