以下のstapy#98にて発表したスライドです https://startpython.connpass.com/event/296755/ PythonのPackage Managerを深く知るためのリンク集 https://gist.github.com/vaaaaanquish/1ad9…

EDIT: このブログと似た内容の話をPyCon APAC2023にてお話ししました。 こちらの登壇資料も合わせてご覧いただけると幸いです こんにちはWantedlyの樋口です。 Pythonのパッケージングと配布は歴史が長く、多くのツール(ex. conda, pip, pipenv, poetry, rye...)が開発されてきました。これらの多様性はPythonが多くの人に使われ、継続的に改善されたゆえの賜物ですが、同時にこれらの理解を難しくしている要因にもなっていると感じます。 そこで本記事では、Pythonのパッケージングと配布の全体像を紹介します。パッケージングと配布が何か、なぜ重要なのか、そしてそれぞれのツールが何を解決しようとしているのかについて説明します。以下のような疑問を解決できることを想定しています。 パッケージングと配布の仕組みがなぜあるのか 多数あるツールが何を解
Packaging Python Projects¶ This tutorial walks you through how to package a simple Python project. It will show you how to add the necessary files and structure to create the package, how to build the package, and how to upload it to the Python Package Index (PyPI). Tip If you have trouble running the commands in this tutorial, please copy the command and its output, then open an issue on the pack
- はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂
Python には依存関係を管理するツールがたくさんあります。 Python も歴史あるプログラミング言語なので仕方ないですが、情報が多すぎて特に初心者は混乱してしまいます。 結局の所、pip、virtualenv (venv) を使えば十分な場合が多いので、まずはこれらの使い方を学習しましょう。 近頃は Pipenv という依存関係管理ツールが登場して人気です。 日本語でも Pipenv の情報をよく見かけるようになりました。 さらに、最近になって Poetry という依存関係管理とパッケージングを支援するツールが登場しました。 意外と Poetry に関する日本語の情報がないようなので、簡単に紹介してみようと思います。 各ツールの機能をまとめた表 が公開されていたので参考にしてください。 Pipenv 2017 年 1 月に Pipenv というツールが登場しました。 Pipenv に
はじめに こんにちは、Python界のラファエル・ナダルです。全豪オープンテニス、盛り上がりましたね。さて、先日次のようなエントリーを立て続けに書いたんですが、「なぜAnacondaに関しての記述がないのか」という突っ込みをもらったので、参照用にメモを残しておきます。 Pythonの仮想環境構築 2017.01版 - YAMAGUCHI::weblog Pythonの環境設定でむかついてる人はとりあえずこれをコピペで実行してください 2017.01 - YAMAGUCHI::weblog なおこの記事の作成にあたっては @aodag に数多くのアドバイスをいただきました。この場を借りて感謝。 TL;DR condaの開発者はPyPAともっとコミュニケーションとってほしい。 前提 この記事はPythonを触り始めたばかりだけど、パッケージ管理ツール等々のスタンダードがどのようになっているかな
Adopt cachecontrol 0.12.0 with msgpack support というコミットがありました。 どうやら CacheControl というのが pip が使っている requests 用のキャッシュライブラリで、その最新版が msgpack を使っているようです。 前のバージョンはバイナリデータを base64 した上で json に入れて gzip していたのですが、もともと圧縮されてるバイナリを扱うときに gzip は base64 によって増えた分を減らす以上の効果は期待できない上、 PyPI からダウンロードするファイルってほぼ100%圧縮済みなので、キャッシュファイルの読み書きで無駄なオーバーヘッドがあったみたいですね。 バンドルされてる msgpack は pure Python で実行できる fallback モジュールのみなのでどこでも動くし、
setup.py is your friend. It’s real sorry about what happened last time. Okay folks. Time’s up. It’s too late to say that Python’s packaging ecosystem terrible any more. I’m calling it. Python packaging is not bad any more. If you’re a developer, and you’re trying to create or consume Python libraries, it can be a tractable, even pleasant experience. I need to say this, because for a long time, Pyt
Packaging History¶ 2021¶ The PyPA became a PSF Fiscal Sponsoree 2020¶ Old pypa-dev Google Group decommissioned to focus conversation in Discourse forum and distutils-sig list. Packaging Working Group used MOSS and CZI funding to improve pip dependency resolver. PEP 609 created and accepted, creating PyPA governance model. New pip dependency resolver released. 2019¶ OTF grant for PyPI awarded to PS
A new version of pip-tools was recently released and it brings with it a much cleaner work-flow to manage your Python virtual environments. I’m assuming you are using virtual environments for your Python and Django projects. If not you should look up some of the excellent guides on the Internet on how to get started with virtualenv, virtualenvwrapper or my personal favorite virtualfish for Fish. P
この記事の目指すところ 現在 Python はバージョン 2.x 系と 3.x 系という、一部に互換性のないふたつのメジャーバージョンが併用されている。 その上で、この記事にはふたつの目的がある。 ひとつ目は、2.x 系と 3.x 系の違いについてまとめること。 現状、それぞれのバージョン毎の違いはまとまっているところが少ない。 自分用に、このページだけ見ればひと通り分かる!っていうものがほしかった。 ふたつ目は、2.x 系と 3.x 系の違いを吸収するソースコードの書き方についてまとめること。 こちらも Web 上にナレッジがあまりまとまっていない。 これについては今 python-future というパッケージがアツい。 尚、サポートするバージョンは以下の通り。 2.x 系: 2.6 と 2.7 3.x 系: 3.3 と 3.4 本題に入る前に、最近の Python 事情についてまとめ
こんにちは、白ヤギでは下手の横好き的なPythonistaのシバタアキラです。 カメリオのような複雑なオンラインサービスを開発提供していく上では、様々な開発言語からミドルウェアそしてハードウェアやモニタリングに至るまで、様々な計算技術を応用しています。開発言語自体はあくまで手段であって目的ではないので、自分たちのマインドシェアの中でも小さくあるべきと思っています。一方で、未だにvim vs emacsなんていう些細な選択肢に関しても「戦争」が起こる様に(起こってない?)なんだかんだいって、ツールというのはエンジニアにとってもデータサイエンティストにとってもとても大切なモノです。 昨年PyConJPのスポンサー(今年もやります!)をして以来、Pythonコミュニティーでコアに活動されている方々とお付き合いさせていただく機会も増え、また自分でもPyData.Tokyoというデータサイエンスに特
6. PyPI I cheeseshop I warehouse I https://warehouse.python.org/ I https://warehouse.python.org/project/WebDispatch/ I https://warehouse.python.org/user/aodag/ 7. PIP I “–pre” オプション I デフォルトではプリバージョン(a やb などついてるバー ジョン) のものはインストール対象外 I “–allow-external” “–allow-unverified” オプション I インデックスサーバー(PyPI) にホスティングされていない ファイルのインストールが厳しくなった I wheel サポート I wheel 形式のパッケージをインストールできる I pip, setuptools 自体もwheel 形式で
pipの使い方 (2014/1バージョン)¶ 以前 pipの使い方 と いう記事を書いたのですが、これは2011年の1月と、ちょうど3年前です。これ から随分変わったので、ここでもう一度まとめたいと思います。 pip: http://www.pip-installer.org/ ここで述べているpipのバージョンは1.5です。お使いのpipのバージョンが古い場合は pip install -U pip として、更新してください。 警告 大きな変更点: pip 1.5から"pre"や"b"などがバージョンに付いているパッ ケージはデフォルトで検索やインストールの対象からはずされました。その ため、1.5未満のバージョンのpipでインストールしたパッケージが1.5では 入らない場合があります。 --pre を付けることで、これらのバージョンを入れることができます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く