Vor zwei Jahren unter Bezugnahme auf einen guten Artikel für Mac "Erste Schritte mit dem Python-Projekt im Jahr 2018", WSL (Windows Subsystem for) unter Windows 10 Vorbereitung einer modernen Linux-Python-Umgebung (zu dieser Zeit) unter Linux) (Artikel: Bereiten Sie eine moderne Python-Umgebung vor, indem Sie einen Befehl in etwa 10 Zeilen drücken ). Ich verwende die Umgebung nach dem Aktualisieren zu diesem Zeitpunkt immer noch, aber da ich Mac für Scala / Java-Geschäfte verwendet habe, habe ich beschlossen, sie zum Erstellen einer Python-Umgebung zu verwenden, die besser mit der Mac-Methode kompatibel ist. .. Zusammenfassend dachte ich, dass dieser Ansatz angesichts der Wartbarkeit definitiv möglich ist. Es ist ein universeller Ansatz, unabhängig von der Sprache. Selbst Anfänger, die in naher Zukunft Python und Javascript verwenden müssen, sollten sich der Herausforderung stellen, auch wenn sie Zeit haben.
Die Verwendung von anyenv erfordert viel Arbeit, aber ich wollte die Version von nodejs usw. auf die gleiche Weise verwalten, also habe ich sie in Frage gestellt. Es scheint, dass es asdf als Option gibt, um eine vielfältigere Umgebung aufzubauen, aber ich frage mich, ob dies etwa zwei Jahre nach dem Verfall angenommen wird.
Persönlich ist die große Veränderung gegenüber vor zwei Jahren, dass das Verhältnis der Verwendung von vscode gestiegen ist. ... Vorher habe ich Sublimetext verwendet, weil ich mit Milliarden von Zeilen Textdateien umgehen musste. Heutzutage ist vscode sowohl für Mac- als auch für Windows-Editoren in Ordnung. Also habe ich den folgenden Artikel geschrieben. Wenn Sie vscode + python sind, schauen Sie bitte auch hier. Mit Windows 10 (wsl + vscode + homebrew) können Sie problemlos eine Umgebung in der Nähe von Mac realisieren
Es gibt nur wenige Befehlszeilenunterschiede zwischen Mac und Windows WSL (Ubuntu). Vor kurzem funktioniert die window10-Maschine meines persönlichen PCs nicht gut und ich stehe kurz vor dem Tod. Als ich meinen persönlichen PC auf Mac stellte, dachte ich, ich würde den Unterschied auf Mac schreiben.
Homebrew kann einfach in der WSL-Version von Ubuntu installiert werden. Unten die Installationsprozedur für Ubuntu im Ausgangszustand
.sh
sudo apt update
sudo apt upgrade
sudo apt install linuxbrew-wrapper build-essential
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
echo 'eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)' >> ~/.bashrc
source ~/.bashrc
Ab hier ist das Verfahren fast das gleiche wie für Mac. Vielen Dank. Schließen Sie beliebige und beliebige Komfortstecker ein. Einige Plugins werden für pyenv nicht benötigt, aber seien Sie auf Tage vorbereitet, an denen Sie andere Sprachen verwenden.
brew install anyenv
anyenv init
echo 'eval "$(anyenv init -)"' >> ~/.bashrc
exec $SHELL -l
anyenv install --init
anyenv -v
mkdir -p $(anyenv root)/plugins
git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
git clone https://github.com/znz/anyenv-git.git $(anyenv root)/plugins/anyenv-git
anyenv update
Es gibt auch einige Ubuntu-spezifische Schritte für die WSL-Version. Ich klicke jedoch einfach auf den folgenden Befehl. Wenn sich die Version von Ubuntu ändert, kann sich die Prozedur ändern. In diesem Fall geben wir unser Bestes, indem wir mit einem der Schlüsselwörter "pyenv / ubuntu / poet" googeln. In dem Artikel vor zwei Jahren hat sich das Verfahren etwa alle sechs Monate geringfügig geändert, und ich habe den Artikel aktualisiert. Daher werde ich ihn diesmal mit der gleichen Häufigkeit überprüfen und diesen Artikel entsprechend aktualisieren (ich habe das Gefühl, dass ich nicht viel schreibe). ..
.sh
anyenv install pyenv
exec $SHELL -l
sudo apt-get install -y libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
pyenv install 3.8.2
pyenv global 3.8.2
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
source $HOME/.poetry/env
Es sollte so aussehen.
userid@DESKTOP-YourID:~$ poetry
Poetry version 1.0.5
USAGE
poetry [-h] [-q] [-v [<...>]] [-V] [--ansi] [--no-ansi] [-n] <command> [<arg1>] ... [<argN>]
ARGUMENTS
<command> The command to execute
<arg> The arguments of the command
GLOBAL OPTIONS
-h (--help) Display this help message
-q (--quiet) Do not output any message
-v (--verbose) Increase the verbosity of messages: "-v" for normal output, "-vv" for more verbose output and "-vvv" for debug
-V (--version) Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n (--no-interaction) Do not ask any interactive question
AVAILABLE COMMANDS
about Shows information about Poetry.
add Adds a new dependency to pyproject.toml.
build Builds a package, as a tarball and a wheel by default.
cache Interact with Poetry's cache
check Checks the validity of the pyproject.toml file.
config Manages configuration settings.
debug Debug various elements of Poetry.
env Interact with Poetry's project environments.
export Exports the lock file to alternative formats.
help Display the manual of a command
init Creates a basic pyproject.toml file in the current directory.
install Installs the project dependencies.
lock Locks the project dependencies.
new Creates a new Python project at <path>.
publish Publishes a package to a remote repository.
remove Removes a package from the project dependencies.
run Runs a command in the appropriate environment.
search Searches for packages on remote repositories.
self Interact with Poetry directly.
shell Spawns a shell within the virtual environment.
show Shows information about packages.
update Update the dependencies as according to the pyproject.toml file.
version Shows the version of the project or bumps it when a valid bump rule is provided.
userid@DESKTOP-YourID:~$ python
Python 3.8.2 (default, Apr 4 2020, 23:48:47)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Ich habe Nodejs zusätzlich zu Python auf meinem PC installiert, aber es ist sauber beim Brauen (Hugo wurde separat eingeführt, um ein Blog zu erstellen). Ich denke, das ist ein guter Punkt dieser Methode.
$ brew list
anyenv hugo patchelf
Das offizielle Dokument wurde ins Japanische übersetzt (siehe unten), daher scheint es gut, hier zu beginnen. https://cocoatomo.github.io/poetry-ja/basic-usage/
Es ist wichtig, die Version von Pyhon und Paketen nach dem hier beschriebenen Verfahren zu verwalten, z. B. bei Verwendung von Python in der Webentwicklung mit enger Lieferzeit, wenn auch nur ein Paket nicht funktioniert. Für Data Engineer / Data Science-Projekte ist eine Verbindung zu einer eher festgelegten (häufig älteren) Datenbank erforderlich. Beim Herstellen einer Verbindung zu einer älteren Datenbank ist die Linux-Version des Treibers möglicherweise nicht möglich. Wenn pyenv auf wsl abgeschlossen ist, ist die Koexistenz mit winpython natürlich kein Problem. Verwenden wir Winpython, um die Option der Datenbankverbindung über ODBC zu sichern. Mit der tragbaren Version besteht keine Sorge, dass die Umgebung schmutzig wird. Mit Python allein kann Winpython, das auch Anaconda und Pandas / Numpy ohne Erlaubnis einführt, am stärksten sein. Wenn es jedoch darum geht, über die Shell mit anderen Tools zu verknüpfen, möchte ich immer noch ein wsl pyenv.
Wenn Sie dieses Verfahren befolgen, können Sie die Version von nodejs einfach verwalten. Führen Sie die folgenden Schritte aus, um die aktuellste Version von nodejs zu installieren.
anyenv install nodenv
exec $SHELL -l
touch $(nodenv root)/default-packages
nodenv install 13.2.0
nodenv global 13.12.0
Sie können die Version mit node -v
überprüfen.