EDIT: このブログと似た内容の話をPyCon APAC2023にてお話ししました。 こちらの登壇資料も合わせてご覧いただけると幸いです こんにちはWantedlyの樋口です。 Pythonのパッケージングと配布は歴史が長く、多くのツール(ex. conda, pip, pipenv, poetry, rye...)が開発されてきました。これらの多様性はPythonが多くの人に使われ、継続的に改善されたゆえの賜物ですが、同時にこれらの理解を難しくしている要因にもなっていると感じます。 そこで本記事では、Pythonのパッケージングと配布の全体像を紹介します。パッケージングと配布が何か、なぜ重要なのか、そしてそれぞれのツールが何を解決しようとしているのかについて説明します。以下のような疑問を解決できることを想定しています。 パッケージングと配布の仕組みがなぜあるのか 多数あるツールが何を解
pip# pip is the package installer for Python. You can use it to install packages from the Python Package Index and other indexes. If you want to learn about how to use pip, check out the following resources: Getting Started Python Packaging User Guide If you find bugs, need help, or want to talk to the developers, use our mailing lists or chat rooms: GitHub Issues Discourse channel User IRC Develo
これまで依存パッケージ管理で遅れをとっていた Python ですが、Pipenv というモダンなツールが定着の兆しをみせており、Python エンジニアの一人として非常に喜ばしく感じています。 一方で、Go を使うことも多い自分にとっては、依存パッケージ管理に加えて Vendoring もやりたいというのが正直なところなんですよね。リッチな機能を提供する Pipenv ですが Vendoring についてのサポートはなく、開発コミュニティ上でもあまり積極的に受け入れられていないようです。 私のような考え方はマイノリティなのかもしれませんが、後述するように Python でも Vendoring が出来ればいくつかのメリットがあります。という訳で実現するためにはどうすればよいかというところを調べたので、これを共有したいとおもいます! そもそも Vendoring ってなに? 一般的な依存管理
概要 pip install する際、依存する外部パッケージを選択してインストールできる extras_require 書き方を記します。 次のような状況において必要な外部パッケージを選択してインストールする場合に有効です。 インストールされる外部パッケージを最小限にしたい。 テストコードを実行するために必要なパッケージを含めたインストールを行いたい。 問題点として pip install には様々な便利機能があるものの、公式ドキュメントや pip のドキュメントをよく見ないと書き方がわかりづらい。 setup.py の書き方 setup 関数の中に extras_require を加えます。 setup( name="example", ... install_requires=[ ← ここには必須となる外部パッケージを記載します。 "requests"], extras_require
みなさん機械学習系の環境構築はどうやってますか? 僕は最近は Docker を使った管理を行っています。 特に師匠も居なかったので、ぐぐったり人のイメージを見たり手探りで docker をつかいつかいしている中で、最初からやっとけばよかったなーということがいくつかあるのでメモとして残しておきます。 大きく2つです。 キャッシュは消す テストを書く キャッシュは消す ライブラリをいろいろと install すると大抵の場合ダウンロードしたファイルを保存されている場合が多いです。何かのタイミングで再びそのライブラリをインストールする際にはダウンロードしたファイルを使って、素早くインストールすることができます (この仕組みがキャッシュです)。 キャッシュがあると容量が重くなるという欠点があります。重たいイメージは pull に単に時間がかかりますから、システムとしてデプロイする時にトラフィックが
Introduction to Dockerizing for Production Improve your DevOps skills: learn an iterative process for Dockerizing your code. Get your free ebook Faster Docker builds with pipenv, poetry, or pip-tools by Itamar Turner-Trauring Last updated 21 Mar 2023, originally created 17 Jun 2019 Docker builds can be slow, and waiting for a build to finish is probably not how you want to spend your time. So you
Recently I landed a series of contributions to the Python package pip-tools: Support URLs as packages #807 Fix –generate-hashes with bare VCS URLs #812 Fix pip-compile output for unsafe requirements #813 Warn when –generate-hashes output is uninstallable #814 pip-tools is a “set of command line tools to help you keep your pip-based [Python] packages fresh, even when you’ve pinned them.” My changes
The page has moved to https://pypa.github.io/pipx/
ソフトウェアエンジニアの花岡です。今回は、きたない requirements.txt から Pipenv に移行し pipenv graph を使って依存ライブラリを管理しやすくする方法について書きました。 きたない requirements.txt とは、依存ライブラリとその依存ライブラリの指定が混在している requirements.txt ファイルのことです。たとえば $ pip install flask $ pip freeze > requirements.txt のように生成した requirements.txt を使っているとき、本記事ではその requirements.txt を、きたない requirements.txt と呼ぶことにします。 きたなくない requirements.txt とは pip の constraints の正しい用途のように、直接依存している
イテレーションの速さがあなたの生産性を左右する。どうも、かわしんです。生産性の高いプログラマって1つ1つの試行が素早い(自動化しているかツールを使っている)ためにものすごいスピードで開発できていると思うんですよね。 さて、最近 Python で開発をしているのですが、世の中の Docker と Pipenv の開発環境を調べてもろくなものがなかったので、自分でテンプレートを作りました。いわゆる「俺の考える最強の Pipenv + Docker 開発環境」というやつです。 リポジトリはこちらになります。 github.com 特徴としては、以下の2つが大きいです。 pipenv install をコンテナ起動時に行うため、docker イメージを作り直す必要がない pipenv shell 相当の仮想環境のアクティベートを自動で行う なぜ Docker + Pipenv なのか Docker
Warning: This is the documentation for the development version of Platter Platter¶ Platter is a tool for Python that simplifies deployments on Unix servers. It’s a thin wrapper around pip, virtualenv and wheel and aids in creating packages that can install without compiling or downloading on servers. Why would you want to use it? fastest way to build and distribute Python packages in an ecosystem
November Five is where digital meets emotion. Here, we craft and bring to life memorable digital experiences that resonate, inspire and endure. With bespoke digital solutions we tap into innate desires and stir genuine emotion to let you stand out in a sea of sameness. Together we inspire loyalty, beyond satisfaction.
注意 この内容はすでに古くなっています。 pipの使い方 (2014/1バージョン) を参照してください。 pipとは、Pythonにおけるパッケージ管理システムです。easy_installというツールもあるのですが、pipはこのeasy_installを置き換えるものとして開発されています。rubyのgem、perlのcpan的な位置づけです。 同じパッケージ管理ツールとしてsetuptools置き換えのdistributeというものもあるのですが、こちらはsetuptools全体を置き換えるものとして開発されており、pipはsetuptoolsの一部であるeasy_installを置き換える形です。 なお、現在のpipのバージョンは0.8.2で、このエントリはこのバージョンを使っています。 なにかおかしい点があれば、ご指摘ください。 > 識者の方々 pipのinstall まずはea
Where to get it lxml is generally distributed through PyPI. Most Linux platforms come with some version of lxml readily packaged, usually named python-lxml for the Python 2.x version and python3-lxml for Python 3.x. If you can use that version, the quickest way to install lxml is to use the system package manager, e.g. apt-get on Debian/Ubuntu: sudo apt-get install python3-lxml For MacOS-X, a macp
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く