Der Originalartikel ist hier
Es geht um die Verwaltung von Python-Paketen und Tools zum Verwalten virtueller Umgebungen.
Ich benutze Pipenv normalerweise, aber ich habe Poesie immer noch richtig verwendet. Ich habe es nicht getan, also habe ich es versucht.
Erstellen Sie Projektordner für 3.7 und 2.7 mit Poesie, führen Sie in jedem Ordner "Poesie laufen Python - Version" aus, und wenn die angezeigte Python-Version unterschiedlich ist, ist dies erfolgreich.
Empfohlen in Offizielle Methode zur Installation von Gedichten
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
Bei dieser Methode treten unter Windows die folgenden Probleme auf.
Was das mysteriöse Problem "python.exe" betrifft, so ist dies zunächst auf den ** App-Ausführungsalias ** zurückzuführen, der anscheinend erst vor relativ kurzer Zeit in Windows 10 eingeführt wurde. Wenn Sie Windows-Einstellungen-> Apps und Funktionen-> App-Ausführungs-Aliase öffnen, gibt es ** App-Installationsprogramm (python.exe) ** und ** App-Installationsprogramm (python3.exe) **. Deaktivieren Sie diese also. (Obwohl Sie die Priorität der Pfade ändern können)
In Bezug auf den zweiten Punkt bleibt keine andere Wahl, als zu einer anderen Installationsmethode zu wechseln. Obwohl es in der Dokumentation veraltet ist, wird es mit dem Befehl pip benutzerunabhängig installiert, genau wie Pipenv. Warten wir auf die empfohlene Methode, um sie ordnungsgemäß zu installieren. Bei dieser Methode müssen Sie den Pfad zu dem Ordner manuell festlegen, der die beiden Dateien poetry und poet.bat enthält (diesmal wurde er in Python 3.7 installiert, also% APPDATA% \ Python \ Python37 \ Scripts).
py -3 -m pip install --user --pre poet
in einer Shell wie Powershell auspoetry --version
auf der Shell aus, diesmal wird Poetry version 1.0.0b8
zurückgegebenDamit ist die Gedichtinstallation abgeschlossen.
Poesie verwaltet auch die virtuelle Umgebung (virtualenv), aber standardmäßig lautet der Speicherort der virtuellen Umgebung "% USERDIR% \ Local \ pypoetry \ Cache \ virtualenvs". Es ist möglicherweise einfacher, eine virtuelle Umgebung im Projektordner für die Verwendung mit Visual Studio Code usw. zu erstellen. Ändern Sie daher einige Poesieeinstellungen.
> poetry config --list
cache-dir = "C:\\Users\\xxxxxxxx\\AppData\\Local\\pypoetry\\Cache"
virtualenvs.create = true
virtualenvs.in-project = false (← Ich möchte das wahr machen)
virtualenvs.path = "{cache-dir}\\virtualenvs"
> poetry config virtualenvs.in-project true
> poetry config --list
cache-dir = "C:\\Users\\xxxxxxxx\\AppData\\Local\\pypoetry\\Cache"
virtualenvs.create = true
virtualenvs.in-project = true
virtualenvs.path = "{cache-dir}\\virtualenvs"
Wenn Sie Poesie eine virtuelle Umgebung in diesem Zustand erstellen lassen, wird sie in "[Projektordner] \ .venv" erstellt.
Verwenden wir nun Poesie, um ein Python 3.7- und ein 2.7-Projekt zu erstellen. Da diesmal Poesie in Python 3.7 installiert ist, wird ein Projekt für Python 3.7 erstellt, sofern nicht anders angegeben.
> poetry new py3test
Created package py3test in py3test
> cd py3test
> poetry install
Creating virtualenv py3test in C:\Work\py3test\.venv
Updating dependenciesResolving dependencies... (0.4s)
(pytest und abhängige Pakete werden installiert)
> poetry run python --version
Python 3.7.5
Erstellen Sie als Nächstes ein Projekt für Python 2.7. Die Punkte sind die folgenden zwei Punkte.
> cd ..
> poetry new py2test
Created package py2test in py2test
> cd py2test
[Wichtig] Hier pyproject.Toml bearbeiten.
python = "^3.7" → python = "^2.7"
pytest = "^5.2" → pytest = "^4.6"
> poetry env use C:\Python27\python.exe
Creating virtualenv py2test in C:\Work\py2test\.venv
Using virtualenv: C:\Work\py2test\.venv
> poetry install
Updating dependencies
Resolving dependencies... (1.1s)
(pytest und abhängige Pakete werden installiert)
> poetry run python --version
Python 2.7.17
Zur Bestätigung wechseln wir zum Projekt für Python 3.7.
> cd ..\py3test
> poetry run python --version
Python 3.7.5
Sie können sehen, dass die virtuelle Python-Umgebung abhängig vom aktuellen Ordner ordnungsgemäß verwendet wird. Dies ist das Ende des Experiments.
Ich konnte die virtuelle Umgebung mit Gedichten mit Py Launcher anstelle von pyenv unter Windows betreiben. Ich denke, es könnte wahrscheinlich so verwendet werden, aber im Moment denke ich, dass Pipenv unter Windows noch einfacher ist.
Recommended Posts