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.