You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
PIPの脆弱性管理 現在システム全体の残留脆弱性の一覧化の方法を整理しています。 その際の基礎調査として、pip編です。 Vulsなどでは利用しているOSの標準レポジトリから導入したpackage情報はきれいに引き抜いてくれるのですが、pipで導入したものや、非標準のレポジトリ(各ソフトウェアベンダが独自に用意しているレポジトリ)から導入したパッケージ分はサーチしてくれません(2023/4現在)。 ということで、pip用の調べ方を整理します。 PIPの脆弱性検索方針 pip freezeなどで得られる情報から、なんとかモジュール情報をCPEに変換して検索する、というのを考えていました。 一方、ググっていたら独自にPVEという脆弱性番号を裁判してガッツリ活動されているpyup社のSafetyというツールも見つけました。 この両者を比較しながら、今回の残留是弱製情報の一覧化に使う方法を整理して
- はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂
TL;DR 想定する状況 numpy がシステムの pip3 経由だと pip3 install numpy で問題なく入るのに poetry 経由で poetry add numpy するとエラーが出てしまう 解決案 poetry run pip install numpy を叩いて、poetry の作った仮想環境の中で pip3 経由で numpy を半ば無理矢理放り込む poetry add numpy を叩いて、poetry に numpy を認識させ、pyproject.toml と poetry.lock を更新する 補足:手元の環境でこのステップを実行したのは2021年1月20日です。 解決案その2(2021年2月18日追記) どうも poetry のコンフィグの1つ experimental.new-installer が悪さをしているらしく、 として、並列にパッケージをイ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Pythonの環境構築は僕にとって、戦争でした。 如何せんツールが多すぎます。 インターネットで調べるとざっと挙げるだけで 元から入っているpython3 元から入っているpython3 + venv pyenv pyenv + pyenv-virtualenv pyenv + venv anaconda docker + python docker + anaconda ... 以上のような組み合わせが山程出てきます。 よく最近のゲームのキャラメイキングの 「組み合わせは無限大!」を思い出します。 この記事では、それぞれの環
Python には依存関係を管理するツールがたくさんあります。 Python も歴史あるプログラミング言語なので仕方ないですが、情報が多すぎて特に初心者は混乱してしまいます。 結局の所、pip、virtualenv (venv) を使えば十分な場合が多いので、まずはこれらの使い方を学習しましょう。 近頃は Pipenv という依存関係管理ツールが登場して人気です。 日本語でも Pipenv の情報をよく見かけるようになりました。 さらに、最近になって Poetry という依存関係管理とパッケージングを支援するツールが登場しました。 意外と Poetry に関する日本語の情報がないようなので、簡単に紹介してみようと思います。 各ツールの機能をまとめた表 が公開されていたので参考にしてください。 Pipenv 2017 年 1 月に Pipenv というツールが登場しました。 Pipenv に
概要 新しいも面白いも楽しいも正義なんだよ— いちたる (@_kimoton) December 18, 2018 ということで、やっていきましょうpipenv 前回の以下の記事ではPipenvのインストールとPython3.7.1環境の作成を行いました。 今回はもうちょっと真面目にPipenvを使ってみます。 www.kimoton.com 何のためのpipenv 一言でいえば、pipenvは、pip と virtualenv を統合するためのツールです。 加えて、requirements.txtではできなかった、最小限の依存関係の宣言と直前にテストした依存関係の組み合わせを区別して管理できます。 公式では「人間のための Python 開発ワークフロー」なんて言っちゃってます。 今までは pip → pythonのライブラリ管理 virtualenv → 仮想環境の管理 という住み分けだ
目次 目次 python のパッケージ周りの進化(?) pipenv を一言でいうと すぐわかるpipenvの使い方。 pipenv についてはこれ読むとわかる。 requirements.txt venv (virtualenv) pyenv pipenvその2 pipenvを使ってみる。 pipenv 環境を作る pipenv インストール環境の初期化 venv 環境に入る venv 環境を使う2 パッケージのインストールとアンインストール 開発用パッケージのインストール npm run 的なアレ 手作業でpipenv は編集しなくていい。pipenv install プロジェクト内にvenv 環境を作りたいんだけど PIPENV_VENV_IN_PROJECTの注意(2019-08-21)追加 pipenv のシェル補完がしたい git clone した python プロジェクトを
4/30 公開 5/1 増補改訂: 大幅加筆しました。 この記事では、2018年以降に実現可能になったモダンなPythonプロジェクトのはじめかたを整理して紹介します。 PythonにもPipenvという公式推奨の高機能なパッケージマネージャーが登場し、さらに2018年に入ってからの機能向上で、npmやyarnのような開発体験が得られるようになってきました。 私はここしばらくはフロントエンドやNode.jsに携わっていて、npmやyarnに慣れきっていたせいか、pipenv導入以前はvirtualenvやpipを組み合わせた開発が面倒で仕方なかったですが、Pipenv導入によって一変しました。 これからはPythonのプロジェクトがよりクリーンかつ簡単にはじめられるようになり、開発体験も向上するでしょう。 それでは、まずはPythonのインストールからです。 Pythonのインストール P
はじめに 今回は諸般の事情で pip というか、Python 環境を外部通信が不可能な環境で用意する必要が出てきたので、やり方を調べた時の備忘録です。 環境構築の流れ 作業順としては次のような流れです。 外部通信可能な環境で、pypi からパッケージを取得する 環境構築対象のサーバにモジュールをコピー pip install を実行する Python や pip 、virtualenv は、dpkg や rpm でがんばってインストールしてね☆ pypi からパッケージを取得からコピーまで 既に requirements.txt に必要なパッケージが書かれている状態で次のコマンドを実行します。 $ mkdir pip-cache $ pip download \ --only-binary=:all: \ --platform manylinux1_x86_64 \ --python-ve
たまにインターネットと疎通がないマシンをデプロイしなきゃいけないこともあると思う。 今回は、そんな時にどうやって Python のパッケージを対象ホストにインストールすればいいかについて書く。 要約を先に書いておくと、まず OS のパッケージシステムを使って Python のパッケージマネージャ pip をインストールした上で、Wheel という Python のパッケージング形式でビルドしたものを使ってインストールすればいい。 検証の環境には CentOS7 を使った。 $ cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) $ uname -r 3.10.0-229.11.1.el7.x86_64 Python のパッケージマネージャ pip をインストールする まずは Wheel 形式の Python パッケージを
ExactTargetのCLIを仕事の便利ツール的な感じで作っていたのをPyPIに公開してみました。↓ et-cli Python Package Index でインストールできるようになってますので、ExactTarget導入している開発者の方は良ければお使いください(日本ではほとんど居ないと思いますが…)。ツールの説明は別の記事として書こうと思います。まだまだ機能不全+クソコードな感じなのでもうちょい時間作って書いていかないとなー。 ということで、今回はコマンドラインツールをPyPIにパッケージ登録するやり方を書いていきます。 全体的な流れはこんな感じです。 ディレクトリ構成決めるsetup.py作成testpypiにregister&sdist upload本番pypiにregister & sdist upload参考URLはこちら↓(以下を読んでから進めたほうがPyPIやパッケー
概要 Githubで独自のPythonライブラリを管理して,pipでインストールができるようにする方法です. ディレクトリ構成 まずは,pipでインストールできる構成にするために,ディレクトリを以下のように構成します. pip_github概要 Githubで独自のPythonライブラリを管理して,pipでインストールができるようにする方法です. ディレクトリ構成 まずは,pipでインストールできる構成にするために,ディレクトリを以下のように構成します. pip_github_test |--pip_github_test | |--__init__.py | |--test.py |--README.md |--setup.py 各要素の説明 __init__.py pip_github_testがPythonライブラリであることを示すためのファイルです.中身は空でも良いのですが,ライブ
注意 この内容はすでに古くなっています。 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
Cheat Sheet: Writing Python 2-3 compatible code¶ Copyright (c): 2013-2024 Python Charmers, Australia. Author: Ed Schofield. Licence: Creative Commons Attribution. A PDF version is here: https://python-future.org/compatible_idioms.pdf This notebook shows you idioms for writing future-proof code that is compatible with both versions of Python: 2 and 3. It accompanies Ed Schofield’s talk at PyCon AU
この記事の目指すところ 現在 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 事情についてまとめ
はじめに re:Inventでアナウンスされていたaws-shellプロジェクトがavailableになりました。 ハンズオンしてみたところ、かなりいい感じだったのでまとめました。 参考 https://aws.amazon.com/jp/about-aws/whats-new/2015/12/aws-shell-accelerates-productivity-for-aws-cli-users/ aws-shellとは? githubのリポジトリには、The interactive productivity booster for the AWS CLIとあります。 aws-cliの為の、生産性を向上させるようなインタラクティブなツールという位置づけです。 また、リポジトリを見る限りDeveloper Preview のステータスなので、その点は注意が必要です。 さっそく リポジトリは
Java 見習いのもりもとです。 アリエルのスタート地点 を知ってから、いつもどぎまぎしながら開発しています。 アリエルのスタート地点は、Javaと聞いて、ふっと鼻で笑える地点です。 私にとっては、スタート地点がまだまだ遠そうなのでしばらくは Python の話題でお茶を濁そうと思います。ちょうど良い機会なので Pythonic なテストツール pytest についてチュートリアルのような記事を何回かに分けて書きます。 pytest は、設定より規約 を設計原則とするツールで、xUnit スタイルではない funcarg という関数の引数をフックしてリソースインジェクションを行う仕組みを提供するなど、ユニークなテストツールです。さらに単体テスト、機能テスト、システムテストといった全てのテストフェーズにおいても利用できると、その応用範囲の広さも喧伝しています。ドキュメントも翻訳されているので
とりあえず mycli と aws-shell のスクリーンキャストを見てください。 prompt_toolkit はこのようなリッチコンソールアプリを作るためのライブラリです。 Windows でも動きます。 Jupyter (ipython notebook) を切り離した、コンソール版の ipython も次のメジャーバージョンでは readline ベースから prompt_toolkit ベースに作りなおされています。 ipython 以外にも ptpython というシェルもあり、 ipython の各種 magic が不要な場合はこちらで十分でしょう。 https://github.com/jonathanslenders/python-prompt-toolkit#projects-using-prompt-toolkit には、他にも prompt_toolkit を採用
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く