真野 智之 (Tomoyuki Mano) <tomoyukimano@gmail.com> version 1.0, 2020-06-19
真野 智之 (Tomoyuki Mano) <tomoyukimano@gmail.com> version 1.0, 2020-06-19
はじめに インストールすればすぐに書けて動かせるのが魅力のPythonですが、 実際に業務などでキチンと書こうと思ったら Pythonのバージョン管理ツール パッケージマネージャー エディター(IDE) リンター フォーマッター 型チェッカー くらいは最低限用意する必要があります。 しかしこの界隈、怒涛の勢いで日々新しいものがリリースされていて一概に「これがベストプラクティス」を提示するのが難しいんですよね。そこで今回は上記それぞれのツールについて「こんなものがあるよ」というのをご紹介したいと思います。 TLDR バージョン/パッケージ管理はpyenv + Pipenvがスタンダードだった時代は終わった VS CodeかVimを使うなら型解析にPyrightを導入するとよい テンプレートを用意しました 1. バージョン/パッケージマネージャー プロジェクトごとに異なるPythonのバージョ
この記事は Python Advent Calendar 2019 の 19 日目の記事です。 🐍 あらすじ Python のパッケージ管理。特にここ数年で新しいツールが多く出たこともあり、一体何を使うべきなのか、少し調べただけでは分からないと思います。本記事では、新しめの管理ツールを独断と偏見で比較します。著者は Poetry 信者なのでバイアスが掛かっているので悪しからず。 本記事で書いていること Pipenv、Poetry、Pyflow の違いと使い方 本記事で書いていないこと Pyenv、Venv、Virtualenv などの既存ツールの説明 著者の環境は以下の通り。 Ubuntu 18.04 Python 3.8.0 Pipenv 2018.11.26 Poetry 1.0.0 Pyflow 0.2.1 特に Poetry と Pyflow は開発途中なので、本記事の内容と違う
はじめに Pythonの環境構築は僕にとって、戦争でした。 如何せんツールが多すぎます。 インターネットで調べるとざっと挙げるだけで 元から入っているpython3 元から入っているpython3 + venv pyenv pyenv + pyenv-virtualenv pyenv + venv anaconda docker + python docker + anaconda ... 以上のような組み合わせが山程出てきます。 よく最近のゲームのキャラメイキングの 「組み合わせは無限大!」を思い出します。 この記事では、それぞれの環境構築の概念をイラスト画像でまとめようと思います。 環境構築のコマンド自体は取り扱わないためご注意下さい。 追記 2019/11/07 本記事はPython初心者による「概念のみ」に関する説明のため、ベストな環境構築や、すべて正確かつ詳細な内容は含んでないで
Pythonのパッケージ・プロジェクト管理ツールはまだ乱立状態にあって、どれを使えばいいのかわからないから慣れたpyenv+pipを使おうという判断をする人がいるかもしれない。その判断自体は別に否定しないけれども、初心者に教える時にpyenvを教えるのはもうそろそろやめてほしい。 Pythonをソースからビルドするので、コンパイラや依存ライブラリを事前に揃えないといけない。依存ライブラリが足りないと中途半端なPython環境もできうる。 デフォルトで最適化オプション(PGO+LTO)が付いてないので、最適化ビルドしたPythonより~5%程度遅い Windowsで使えない Rye, pdm, Hatch などは python-build-standalone と呼ばれるビルド済みPythonをインストールする機能があるので、これらの欠点が存在しない。 Pythonをインストールするところま
JX通信社シニア・エンジニアで, プロダクトチームのデータ活用とデータサイエンスのあれこれ頑張ってるマン, @shinyorke(しんよーく)です. 最近ハマってるかつ毎朝の日課は「リングフィットアドベンチャー*1で汗を流してからの朝食」です. 35日連続続いています. 話は遡ること今年の7月末になりますが, JX通信社のデータ基盤の紹介&「ETLとかバッチってどのFW/ライブラリ使えばいいのさ🤔」というクエスチョンに応えるため, このようなエントリーを公開しました. tech.jxpress.net このエントリー, 多くの方から反響をいただき執筆してよかったです, 読んでくださった方ありがとうございます! まだお読みでない方はこのエントリーを読み進める前に流して読んでもらえると良いかも知れません. 上記のエントリーの最後で, 次はprefect編で会いましょう. という挨拶で締めさせ
2020-03-10 Update1: あなたの macOS には何種類のPythonが入っていますか?私は401種類でしたが。 Update2: わりかん がん保険 やってます 2020-03-15 Update3: タイトルが Window 10 だったのを Windows 10 に修正。無意識typoでした。 タイトルは煽りです。WSL Ubuntu 18.04 上にはpyenv経由で3種類+OS由来の2種類で合計10種類でした。 なぜこの記事を書こうとしたのか 背景を説明します。ひさびさにWindows 10を開いたのでセキュリティアップデートも兼ねて Visual Studio Comminity 2019 update や Microsft Store からのアプリのアップデートをよく確認せずに実行したところ、Git bash から python が起動しなくなってしまったので
ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう。 以下の手順でpyenvとPythonをインストールできます。 brew install pyenv # Bashの場合 echo 'eval "$(pyenv init -)"' >> ~/.ba
Gunosy Tech Lab リサーチインターンの北田 (@shunk031)です。 深層学習の論文を読んでいるときに著者実装が公開されている旨を見ると嬉しい気持ちになりますよね。 いざ公開レポジトリに飛んだ瞬間その嬉しさは無となることが多いですが、くじけずにやっていきたいです。 著者実装のrequirements.txtをベースにpythonモジュールをインストールするとよく見るやつ こちらの記事は Gunosy Advent Calendar 2020 6日目の記事です。昨日は @625 さんの goで作るfirehoseのデータ変換lambda でした。 tech.gunosy.io その実験、再現できますか? リサーチインターンでは主にGunosyのデータを使った研究をしています。 特に私は深層学習による広告クリエイティブの評価や運用支援に焦点を当てて取り組んでいます*1。 深層
How to Set Up a Python Project For Automation and Collaboration [ engineering production python productivity 🔥 ] · 20 min read As your Python project gets larger in scope, it can become difficult to manage. How can we automate checks (e.g., unit testing, type-checking, linting)? How can we minimise collaboration overhead (e.g., code reviews, consistency)? How can we maximise developer experience
最近spacemacsにハマってます。「Spacemacs とはなんぞや」についてはいろんな方々が 解説してくださっているので、その魅力についてはぜひそちらをご参照ください。 かくいう私もそういった記事を読んで手を出し、そのまま戻れなくなった身です。 今回は Python のコーディング環境を整えてみます。条件は以下。 Python 3.6.6 Spacemacs (develop branch) virtualenvwrapper を使用している pyenv を使用している (optional) Spacemacs + Python + LiveCoding + IPython Spacemacs では .py という拡張子のファイルを開くだけで Python コーディング用の様々なパッケージが自動インストールされる1のですが、 pip で特定のパッケージをインストールするとさらにパワフ
Read this article on Medium New Year 2020 marks the end of more than a decade of coexistence of Python 2 and 3. The Python landscape has changed considerably over this period: a host of new tools and best practices now improve the Python developer experience. Their adoption, however, lags behind due to the constraints of legacy support. This article series is a guide to modern Python tooling with
はじめに 以前、pyenvとpyenv-virtualenvの自分流使い方という記事を書きました。その終わりの部分で「pyenv-virtualenv+pipをpoetryで置き換えられるんじゃないかな」と書いていたのですが、実際に試してみた結果をご紹介したいと思います。結論から言うと、pyenv-virtualenvとpipは使わなくなりました(笑) Poetryとは PoetryはPythonのパッケージマネージャの一つです。v1.0になったのが2019年末なのでまだまだ新しいツールです。pipと同じようにパッケージをpypiなどからダウンロードしてきてインストールすることができますが、それに加えて次のようなこともできます。 パッケージ管理ファイルの生成・変更 インストールされているパッケージのアップデート プロジェクトごとの仮想環境のセットアップ などなど... 他の言語だと、npm
主張 ほぼタイトルで完結しています。 Anacondaでは余計なパッケージが多すぎるという場合には、Minicondaで必要なパッケージだけをインストールすればいいと思います。 主張の理由 定期的に初心者向けにPythonの環境構築の記事が投稿されています。 そして、その多くで一緒にTensorflowかPytorchもインストールしていると思います。 環境構築で問題になるのがCUDAです。 CUDAのバージョンとTensorflowやPytorchのバージョンを正しく選んでインストールする必要があります。 これは、以下のような面倒くささがあると思います。 単純に対応するバージョンを調べてインストールするのが面倒くさい ついでにCuDNNのインストールも面倒くさい 迂闊にTensorflowやPytorchのバージョンを上げられない 複数のバージョンのTensorflowやPytorchを
はじめに 同僚に「Pythonの開発環境って pipenv 一択ですよね」と言われて「いや、自分は pyenv + pyenv-virtualenvで不自由していないんだよな」と思いながらも「こう使えば良いよ」と渡せるものが無かったので書くことにしました。 2022.08.11 追記 200LGTMありがとうございます。もうすぐLGTMじゃなくなるみたいですがww、キリ番でTwitterに投稿していただいたみたいです。なお、私自身はここで紹介させてもらった pyenv + virtualenv から Poetry に移行していて、それに関しても「Poetryをサクッと使い始めてみる」で簡単にまとめているので合わせてどうぞ。 pyenv / virtualenv とは pyenvおよびpyenv-virtualenvに馴染みのない方に向けて説明しておきます。 まず、pyenvは「一つのマシン
MacにPythonを複数インストールしてゴチャゴチャしてきたので、初心に返って綺麗に入れ直そうという思い至った際の作業のメモです。 これからMacでpython開発環境を構築する際のガイドになれば幸いです。 MacBook Pro 13" (mid-2020) / Mac Mini M1 macOS BigSure Version 11.4.x Xcode Version 12.5 XCodeをインストールする Appleの提供する統合開発環境(IDE)のXcodeは色々とライブラリを提供してくれるので、便利な子です。入れておきましょう。 入手はAppStoreのXcodeのページを踏むとMacのアプリであるAppStoreを開いてくれますので、インストールボタンを押してからのんびりお茶でもいれててください。 終わったら、XCodeのCommand Line Toolsが次のステップに必
はじめに pyenv-win: Windows 用の pyenv (記事中の引用はすべて上記ページの README.md から) 環境 Microsoft Windows 10.0.19042.1165 PowerShell 5.1.19041.1237 Git 2.33.0.windows.2 pyenvとは pyenv is a simple python version management tool. It lets you easily switch between multiple versions of Python. (訳:pyenv はシンプルな Python のバージョン管理ツールであり、Python の複数のバージョンを簡単に切り替えることができる。) インストール 次のいずれかの方法で pyenv-win をインストールする pip を使用 zip ファイルを使用
前置き 最近WSLがブームですね.windowsでunixを実行できるようになって,デュアルブートや仮想環境を用意する必要がなくなり,速度もそこそこ出るのは嬉しい...microsoft,unixコミュニティさまさまです. ということで,Ubuntuにpythonのバージョン管理を行うpyenvをインストールする手順を載せました. 最新情報はZennにアップロードしています。 https://zenn.dev/neruo/articles/install-pyenv-on-ubuntu 実行環境 ホストOS:Ubutu18.04.05 shell: bash ホストOS:windows10(ビルド20161) WSL2:Ubuntu 18.04 WSL2:Ubuntu 20.04 pyenv: v2.0.3(2021/07/05時点) 事前準備 次のコマンドを管理者権限で実行し,PCを再起
arch -arch x86_64 env PATH=${PATH/\/opt\/homebrew\/bin:/} pyenv install 3.8.7 python-build: use openssl@1.1 from homebrew python-build: use readline from homebrew Downloading Python-3.8.7.tar.xz... -> https://www.python.org/ftp/python/3.8.7/Python-3.8.7.tar.xz Installing Python-3.8.7... python-build: use readline from homebrew python-build: use zlib from xcode sdk BUILD FAILED (OS X 11.2.2 using p
こんちには。 データアナリティクス事業本部 機械学習チームの中村です。 今回はローカル環境上でプロジェクト(ディレクトリ)ごとのPython環境を、pyenvとpoetryで良い感じに構築する方法を記事にしました。 はじめに Python環境を構築する方法は、現在では様々な選択肢があります。 Dockerで構築する Anacondaのenv createで仮想環境を構築する pyenvとpoetry環境で仮想環境を構築する DockerはPythonのみならず様々な環境を独立して構築するのにとても有用ですが、使用するまでに多少ハードルが高い部分があります。 Anacondaもインストールされるライブラリが速度的にも優秀で便利ですが、pipでしかインストールできないパッケージも中には存在し、 conda installとpip installの共存に悩まされることも多いです。 そこで今回は、
Windowsでpipをつかってpyenvを使う方法のメモ。 Pythonを勉強するときに参考書にあわせたり、開発で複数バージョンで試したいときに便利。 WindowsにPythonをインストール pipコマンドを使うにはWindowにPythonがインストールされている事が前提。最初にインストール済みか確認する。 コマンドプロンプトを開いて以下のコマンドを実行。 >python --version 以下のようにPythonx.x.xとバージョンが表示されていればインストールされているのでOK。※バージョンは環境によって異なる。 Python 3.9.6 表示されない場合、公式サイトからPythonをダウンロードしてインストールする。 exeをダウンロードしてインストールするだけなので、細かい手順は割愛。画面に沿ってインストールすればOK。 インストール後、再度コマンドプロンプトでコマンド
外部モジュールをimportすると、「Unable to import 'module-name' pylint(import error)」と表示されるpyenvPython3 pythonでのコーディング中、標準モジュールはimportされるのに、pipで追加したモジュールはimport errorが発生する事象が発生しました。 pipで確認してもインストールされていて、コード自体も正常に実行できます。 環境 python 3.6.4(pyenv使用) VS Code 原因 いろいろ調べてみたら、VSCodeの.vscode/setting.jsonで設定されているpythonと、pyenvのpythonが違っていたために起こったエラーのようでした。
pyenvを使おうと思って公式見たらpyenv-win使えと書いてあった。 If you're on Windows, consider using @kirankotari's pyenv-win fork. (pyenv does not work on windows outside the Windows Subsystem for Linux) 使い方も含めてメモ pyenvとは Pythonのバージョンを切り替えるツール それ以外の事をしないというのが混乱しないためのポイント。 ライブラリ管理的な事もできるようだが、そちらはPython公式がサポートしているvenvを使用する この記事の最後に書いた。 前提 python(pip)がインストール済み インストール 詳細はpyenv-winのGitHubをみてください。 install pip install pyenv-win
動機 近頃pipenv のインストールがかなり遅いので poetry を試してみました。 一通り使ってみてわかったことをまとめます。Pipenvを使っているのでそことの比較も。 パッケージ関連のコマンド(build, publish...)に関してや、細かい機能に関しては記述しないので、公式 Docを参考にしてください。 Poetryについて Poetryは、Pythonのパッケージ管理ツールです。Pipenvと同様、依存関係を解決しパッケージのインストール、アンインストールを行ってくれ、 poetry.lockファイルによって、他のユーザーも適切なバージョン、依存関係でパッケージをインストールすることが出来ます。 仮想環境を利用でき、パッケージングも可能です。 環境 CentOS 7.6.1810 pyenv 1.2.14-8-g0e7cfc3b poetry 1.0.2 Python
結論 pyenv global しても何も起きないときはこの警告がないか確認すべし( exec -l $SHELL とか実行する)。 WARNING: `pyenv init -` no longer sets PATH. Run `pyenv init` to see the necessary changes to make to your configuration. 出ていたら、以下のコマンドを実行すべし。 $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(pyenv init --path)"' >> ~/.bashrc $ echo -e 'if command -v py
はじめに Macbook ProのOSを2年くらい再インストールしていなかったので実行。 環境を再構築しようとしたところ、pyenvでPython 3.7をインストールするところで詰まり。 Ubuntuだとまとまった解決方法は散見されるんだけど、Mojaveは部分的? 需要があればと思いまとめました。 おことわり pyenvのインストールについては公式ドキュメントを参照してください。 https://github.com/pyenv/pyenv pyenvインストール時における基本的なエラーの解法は、pyenv公式のWikiを参照してください。 https://github.com/pyenv/pyenv/wiki/Common-build-problems 事象 pyenv install 3.7.0 すると、 ERROR: The Python ssl extension was no
概要 複数のpythonバージョンやAnaconda環境を管理可能なツール pyenv と プロジェクト毎に使用するpythonライブラリを管理可能なpythonライブラリ pipenv🐍 2019年末の現在、この2つの組み合わせはベストかどうかは知りませんがそこそこ使える組み合わせと思われます😊 今回はこの便利なpyenvとpipenvをWSLではない素のWindowsに導入していきたいと思います。 pyenvとpipenvをMacやLinuxで導入する場合は pipenv側がpyenvを自動で検出して連携を取ってくれるので導入に大きく手間取ることはありません👌 (WSLはちょっと微妙でしたが、、、😒) 非WSLのWindowsは公式pyenvが対応していない事もあり、やや手間がかかります😡 Windows10 1909 pyenv-win 1.2.4 python 3.8.0
開けましておめでとうございます。 2021年になりました。昨年はコロナ禍で大きな変化の年となりましたが・・・今年も色々と変わっていくのでしょう。 年も明けたし、bashを鍛え直すかということで bashrc を整理していたのですが・・・ 最近どうも起動が遅く、よくよく調べると anyenv が遅かったので、それを高速化する話です。 anyenv 便利・・・!だけど、 init がめっちゃ重い 言語をいくつか使ってると、pyenv 等のなんとか env を使うことがよくあります。 それぞれインストールするのは以外と面倒だったりします・・・。 anyenv を使うと、これら env 系のインストールが非常に楽になるため、私は好んで anyenv を使ってます。 ちなみに、anyenv は eval "$(anyenv init -)" と bashrc 等に記載することで使えます。 しかし・・
以前話題になっていたこちらの記事の通りです。…というのも無価値な記事になってしまうので、多少解説をします。 My Python Development Environment, 2020 Edition こちらの記事の著者はWSLを使っていますが、私もOSX環境でもほぼこのまま使えています。 Why? I need to run multiple Python versions, isolated from the system Python. pyenv makes it easy to install, manage, and switch between those multiple Pythons. 様々なPythonのバージョンを切り替えるツールです。ちなみにもとの記事にある通り、pyenvは開発環境用に使い、アプリケーション実行環境にはDockerを利用すべきです。 参考記事
遭遇した問題 Macでpyenvを使ってインストールしたpythonから、tkinter を使おうとしたところ、次のエラーがでた。 Traceback (most recent call last): File "./annotate.py", line 3, in <module> import tkinter File "/Users/???/.pyenv/versions/3.7.4/lib/python3.7/tkinter/__init__.py", line 36, in <module> import _tkinter # If this fails your Python may not be configured for Tk ModuleNotFoundError: No module named '_tkinter' 環境は、 MacOS Catalina 10.15
この記事はEmacs Advent Calendar 2021の2日目の記事です。 こんにちは。 昨年のEmacs Advent Calendar 2020の私の記事では、EmacsでのElpyを用いたPython開発環境を紹介しました。 しかし、この一年でlanguage server protocol(lsp)に入門し、Elpyからlspでの開発環境に移行しました。 移行した理由は、language server protocolを触ってみたかったという興味本位です。 この記事では私のEmacsでのlspをベースとしたPython開発環境を紹介します。 昨年の記事と被る部分も多くありますが、この記事だけでEmacsの設定を完結できるように重複部分も記載しておきます。 少しでも読んだ方の参考になると嬉しいです。 Pythonの開発環境 まず、Python自体の開発環境は、pyenv、pi
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く