Il y a deux ans, faisant référence à un bon article pour Mac «Comment démarrer avec le projet Python en 2018», WSL (Windows Subsystem for) sur Windows 10 Préparation d'un environnement python Linux moderne (à l'époque) sous Linux) (Article: Préparer un environnement Python moderne en appuyant sur une commande d'environ 10 lignes ). J'utilise toujours l'environnement après l'avoir mis à jour à ce moment-là, mais depuis que j'utilise Mac pour les affaires scala / java, j'ai décidé de l'adopter pour créer un environnement python plus compatible avec la méthode Mac. .. En conclusion, je pensais que cette approche était définitivement possible compte tenu de la maintenabilité. C'est une approche polyvalente quelle que soit la langue, donc même les débutants qui doivent utiliser à la fois python et javascript dans un proche avenir devraient relever le défi même lorsqu'ils en ont le temps.
--Introduire un homebrew en utilisant la version WSL ubuntu --Introduisez anyenv de homebrew. --Mettez pyenv de anyenv et changez la gestion des packages de pipenv à poetry
Il faut beaucoup de travail pour utiliser anyenv, mais je voulais gérer la version de nodejs etc. de la même manière, alors je l'ai contesté. Il semble y avoir asdf comme option pour construire un environnement plus diversifié, mais je me demande si cela sera adopté environ deux ans après son déclin.
Personnellement, le grand changement par rapport à il y a deux ans est que le ratio d'utilisation de vscode a augmenté. ... Avant cela, j'utilisais sublimetext car je devais gérer des milliards de lignes de fichiers texte. De nos jours, vscode convient à la fois aux éditeurs Mac et Windows. J'ai donc écrit l'article suivant. Si vous êtes vscode + python, veuillez également regarder ici. Réalisez facilement un environnement proche de Mac avec Windows 10 (wsl + vscode + homebrew)
Il n'y a que quelques lignes de différences de commande entre Mac et Windows wsl (ubuntu). Récemment, la machine window10 de mon PC personnel ne fonctionne pas bien et je suis sur le point de mourir, alors quand j'ai réglé mon PC personnel sur Mac uniquement, j'ai pensé écrire la différence sur Mac.
Homebrew peut être facilement installé dans la version WSL d'ubuntu. Ci-dessous, la procédure d'installation d'ubuntu dans l'état initial
.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
À partir de maintenant, la procédure est presque la même que pour Mac. Je vous remercie. Incluez les plugins de commodité anyenv et anyenv. Certains plugins ne sont pas nécessaires pour pyenv, mais soyez prêt pour les jours où vous utilisez d'autres langues.
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
Il y a aussi quelques étapes spécifiques à ubuntu pour la version wsl ici. Cependant, je clique simplement sur la commande suivante.
Si la version d'ubuntu change, la procédure peut changer. Dans ce cas, faisons de notre mieux par google avec l'un des mots-clés pyenv / ubuntu / poetry
. Dans l'article il y a deux ans, la procédure a légèrement changé environ une fois tous les six mois et j'ai mis à jour l'article, donc je vais le vérifier à la même fréquence cette fois et mettre à jour cet article le cas échéant (j'ai l'impression de ne pas écrire beaucoup) ..
.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
Ça devrait ressembler à ça.
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.
>>>
J'ai mis nodejs en plus de python sur mon PC, mais c'est propre sur brew (hugo a été introduit séparément dans le but de créer un blog). Je pense que c'est un bon point de cette méthode.
$ brew list
anyenv hugo patchelf
Le document officiel a été traduit en japonais (ci-dessous), il semble donc bon de commencer ici. https://cocoatomo.github.io/poetry-ja/basic-usage/
Il est important de gérer la version de pyhon et des packages par la procédure décrite ici, comme lors de l'utilisation de python dans le développement Web avec un délai de livraison serré, s'il y a même un package qui ne fonctionne pas. Pour les projets d'ingénieur de données / science des données, une connexion à une base de données plutôt désignée (souvent héritée) est requise. Lors de la connexion à une base de données plus ancienne, la version Linux du pilote peut ne pas être possible. Si pyenv est terminé sur wsl, la coexistence avec winpython ne pose bien entendu aucun problème. Utilisons winpython le cas échéant pour sécuriser l'option de connexion à la base de données via ODBC. Avec la version portable, il n'y a pas de souci que l'environnement se salisse, donc avec python seul, winpython, qui introduit également anaconda et pandas / numpy sans permission, peut être le plus puissant. Cependant, quand il s'agit de créer des liens avec d'autres outils via le shell, je veux toujours un pyenv wsl.
Si vous suivez cette procédure, vous pouvez facilement gérer la version de nodejs. Pour installer la dernière version de nodejs pour le moment, suivez les étapes ci-dessous.
anyenv install nodenv
exec $SHELL -l
touch $(nodenv root)/default-packages
nodenv install 13.2.0
nodenv global 13.12.0
Vous pouvez vérifier la version avec node -v
.
Recommended Posts