Kraft pipenv zum erstellen einer neuen virtualenv

Ich installiert pip durch das herunterladen virtualenv und der Erstellung einer bootstrap-virtualenv, wie beschrieben in diese Antwort.

Nun will ich versuchen aus pipenv, so habe ich meine bootstrap-virtualenv erstellen Sie eine neue virtualenv und lief dann pip install pipenv. Jetzt kann ich mit pipenv, aber es sieht, dass es bereits ausgeführt wird in einem virtualenv und nicht eine neue zu erstellen.

Wie bekomme ich pipenv zum erstellen einer neuen virtualenv, so kann ich haben getrennte virtualenvs für jedes Projekt? Ich habe versucht pipenv install -h, aber keine der Optionen sehen vielversprechend aus.

  • Separate Umgebungen, die Sie gerade brauchen, um ausführen pipenv in anderen Projekt-Verzeichnis. Werden Sie sicher, dass deaktivieren Ihre aktuelle virtualenv ersten.
  • Um zu klären, @Sraw, pipenv wird nur installiert, in einem virtualenv. Ich will nicht, es zu installieren mein system Python. Ich kann nicht deaktivieren, meine aktuelle virtualenv, weil das ist, wo pipenv installiert ist.
InformationsquelleAutor Don Kirkby | 2018-02-08



3 Replies
  1. 3

    Den aktuelle Dokumentation macht es klingen wie Sie können, setzen Sie die Umgebungsvariable PIPENV_IGNORE_VIRTUALENVS zu vermeiden, die Wiederverwendung einer bereits aktiviert virtualenv:

    source ~/some/virtualenv/location/bin/activate
    PIPENV_IGNORE_VIRTUALENVS=1 pipenv install

    Ich muss zugeben, ich habe nicht versucht, diese, aber.

  2. 1

    Wenn Sie in ein neues Projekt-Verzeichnis, diese Befehle erstellen eine neue virtualenv verwenden pipenv:

    Erstellen Sie eine neue mit virtualenv python-2:

    pipenv --two

    Erstellen Sie eine neue mit virtualenv python 3:

    pipenv --three

    Erstellen Sie eine neue virtualenv mit einer beliebigen python-version:

    pipenv --python 3.6.4
    • Das funktioniert nicht für mich. Ich denke, es ist weil ich habe installiert pipenv in einem virtualenv. Es sagt, es ist die Wiederverwendung, die virtualenv, anstatt ein neues zu erstellen. Meine Frage ist, ob ich sagen kann, es eine neue zu erstellen sowieso.
    • Ich sehen, was Sie bekommen in. Wenn Sie nicht möchten, dass Ihre installation von pipenv getrennt von system-Abhängigkeiten, aber es verwenden, um erstellen Sie neue virtualenvs, können Sie versuchen, die Phantasie der installation-Methode in den docs. docs.pipenv.org/install/#fancy-installation-of-pipenv. Der Vorschlag ist, installieren pipenv mit pipsi, die es ausdrückt in einer isolierten virtualenv aber macht es als Befehl Global.
    • Eine weitere option, die Sie nutzen könnten, ist pipenv install <package> --system, die sagen würde, pipenv die Verwendung der aktuell virtualenv (noch nicht die Schaffung eines separaten ein), aber das würde wahrscheinlich erfordern die Installation pipenv in jedes neue Projekt virtualenv, die Sie erstellen. Es wäre jedoch lassen Sie zu halten getrennt virtualenvs für jedes Projekt. Vielleicht ein trade-off Sie bereit sind, zu machen.
  3. 0

    Sieht es aus wie pipenv wurde schlauer über diese situation. Hier ist was für mich gearbeitet. Zuerst installierte ich eine bootstrap-Umgebung folgende virtualenv ist installation-Dokumentation verwenden Sie es lokal von der Quelle. So, ich muss nicht berühren Sie die system-Python, und ich kann installieren pipenv in der bootstrap-Umgebung:

    $ curl --location --output virtualenv.tar.gz https://github.com/pypa/virtualenv/tarball/16.1.0
    $ tar -xzf virtualenv.tar.gz
    $ python pypa-virtualenv-4ad2742/src/virtualenv.py vbootstrap
    $ rm -r virtualenv.tar.gz pypa-virtualenv-4ad2742/
    $ vbootstrap/bin/pip install pipenv

    Dann habe ich ein neues Projekt erstellt Ordner, und verwendet pipenv installieren Sie numpy:

    $ mkdir my_project
    $ cd my_project
    $ ../vbootstrap/bin/pipenv install numpy
    Creating a virtualenv for this project...
    Pipfile: /home/vagrant/my_project/Pipfile
    Using /home/vagrant/vbootstrap/bin/python (2.7.15rc1) to create virtualenv...
     Complete 
    Already using interpreter /home/vagrant/vbootstrap/bin/python
    Using real prefix '/usr'
    New python executable in /home/vagrant/.local/share/virtualenvs/my_project-KmT425B_/bin/python
    Installing setuptools, pip, wheel...
    done.
    Virtualenv location: /home/vagrant/.local/share/virtualenvs/my_project-KmT425B_
    Creating a Pipfile for this project...
    Installing numpy...
    Adding numpy to Pipfile's [packages]...
    ✔ Installation Succeeded 
    Pipfile.lock not found, creating...
    Locking [dev-packages] dependencies...
    Locking [packages] dependencies...
    ✔ Success! 
    Updated Pipfile.lock (57a39c)!
    Installing dependencies from Pipfile.lock (57a39c)...
      🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 1/1 — 00:00:00
    To activate this project's virtualenv, run pipenv shell.
    Alternatively, run a command inside the virtualenv with pipenv run.

    Machen es einfacher zu bedienen, erstellte ich einen symbolischen link:

    $ ln -s ~/vbootstrap/bin/pipenv ~/pipenv
    $ ~/pipenv shell
    Launching subshell in virtual environment...
    [email protected]:~/my_project$  . /home/vagrant/.local/share/virtualenvs/my_project-KmT425B_/bin/activate
    (my_project) $

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.