並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 22 件 / 22件

新着順 人気順

setup.pyの検索結果1 - 22 件 / 22件

  • Pythonで自作ライブラリを作るとき、setup.pyに代えてpyproject.tomlを使ってみませんか? - nikkie-ftnextの日記

    はじめに 暑すぎましゅ、nikkieです。 ミリシタではエミリーちゃんがイチオシのnikkieですが(私服SHSエミリーが可愛い!)、 Pythonでは最近pyproject.tomlが熱いです。 私がこのファイルの便利さに気づいたのはごくごく最近なのですが、setup.pyを使っている方(=過去の自分)向けに、「こんな便利なファイルがあるんだよ!」とオススメしていきます。 目次 はじめに 目次 pyproject.tomlをオススメしたい背景 からあげさんの「Pythonで自分だけのクソライブラリを作る方法」をpyproject.tomlで実装する pyproject.toml一歩目 すごいんだよ、pyproject.toml! 設定例 プロジェクトの設定だけでなく、開発に使うツールの設定も書ける! 終わりに pyproject.tomlをオススメしたい背景 世はまさに大LLM時代。 C

      Pythonで自作ライブラリを作るとき、setup.pyに代えてpyproject.tomlを使ってみませんか? - nikkie-ftnextの日記
    • [Python] 最小限setup.pyでのビルドを通じてsetuptoolsの気持ちを聞いてみた | DevelopersIO

      Glueを使っていて、Pythonの自作スクリプトを使用するためにwheelファイルを作成しています。 これをきっかけに、setup.pyファイルの記述内容について理解しておこうと思いました。 こういった時は私はいつも最小限のコードを作ることから始めています。 最小限のコードで動かすと、 そのライブラリや仕組みから「こういう使い方がデフォルトなんだよ!」という声を聞くことができます。 やたらと省略可能引数をたくさんつけて実行するということは、 それだけ元から想定されていたデフォルトから外れたことをしているんだと気づくための指標になります。 (必ずしもそうではない場合もあることは承知していますが) ということで今回はsetup.pyの記述を最小限にした時の挙動確認をやってみました。 検証環境 Python 3.11.2 最小限の構成 hogeモジュールをもつapp_commonパッケージを作

        [Python] 最小限setup.pyでのビルドを通じてsetuptoolsの気持ちを聞いてみた | DevelopersIO
      • え、まだsetup.py使ってるの? pyproject.tomlとsetup.cfgで宣言的パッケージング - Qiita

        え、まだsetup.py使ってるの? pyproject.tomlとsetup.cfgで宣言的パッケージングPythonsetup.pysetuptools というタイトルは煽りで、個人的にはまだ時期尚早な感じもあると思いますが。 いずれはこちらが標準になるでしょうし。なんだかんだで結構苦労したので、setuptoolsを使うがsetup.pyは使わずにpyproject.tomlとsetup.cfgを使ってパッケージを作る方法をメモしておきます。 pyproject.tomlって? ざっくりいうと、みんなsetup.pyを書いたり動かしたりするのに疲れたのだと思います。 pyproject.tomlについて規定しているPEP 518では、setup.py自体を動かすために必要な依存パッケージを定義する標準的な方法がないことがモチベーションとされています。個人的には、setup_requi

          え、まだsetup.py使ってるの? pyproject.tomlとsetup.cfgで宣言的パッケージング - Qiita
        • pythonで自作パッケージをsetup.pyで作成する流れ - Qiita

          はじめに pythonで自作パッケージをsetup.pyで作成する流れです。 意外とmodule not foundのエラーで手こずってしまったのでこちらに忘れないようにメモを残していきたいと思います。 今回はとくにPyPiなどにあげることはせず、単純にローカル環境でpip installする手順を整理する感じです。 sample.py、__init__.py、setup.py の内容を記述する pip install してローカルにパッケージをインストール foo.pyの内容を記述して走らせる ディレクトリの構造 以下の構造にて sample.py に入っている関数をpip installでインストールして foo.pyでその関数たちを走らせるとします。 Documents └ tasks_project ├ src │ └ tasks │ ├ __init__.py │ └ sampl

            pythonで自作パッケージをsetup.pyで作成する流れ - Qiita
          • Paul Ganssle - Why you shouldn't invoke setup.py directly

            Why you shouldn't invoke setup.py directly TL;DR: The setuptools team no longer wants to be in the business of providing a command line interface and is actively working to become just a library for building packages. What you should do instead depends on your use case, but if you want some basic rules of thumb, there is a table in the summary section. This does not mean that setuptools itself is

            • multiprocessを使ったコードをpython setup.py testする - Qiita

              要約 setup.pyでmultiprocessモジュールを含むunittestを実行すると無限ループになる どうやらmultiprocessモジュールの仕様らしい 回避策として「__main__」を一時的に書き換える 前提 pythonでマルチプロセスで関数を動作させるのは「multiprocess」モジュールを使用します。 使い方やサンプルコードは公式が十分に分かりやすいです。 https://docs.python.org/ja/3/library/multiprocessing.html さて、次のコードを見てください from multiprocessing import Pool def f(x): return x*x def main(): with Pool(5) as p: print(p.map(f, [1, 2, 3])) main() 公式のサンプルコードから「i

                multiprocessを使ったコードをpython setup.py testする - Qiita
              • 頻繁に「python setup.py test」と打つのが面倒だった - Qiita

                はじめに 理由はわからないけど「python setup.py test」って打つのが面倒。 度々「pytyhon」なんて打ってしまう… 対処 元々、~/.inputrc にこんな設定(※一部)は入れていた。 設定を入れていなくても「Ctrl-r」でイケるけど、ブラウザーの「Ctrl-f」と合わせてると指が楽。 ここから過去コマンドを探すわけだけど、頭が悪いことに前方一致しか使っていなかった。部分一致が使えることに、今更ながらに気づいた。 で、こんな風に入力することで容易に python setup.py text が特定できるようになった。打ち慣れているのか、指も楽。

                  頻繁に「python setup.py test」と打つのが面倒だった - Qiita
                • Pythonパッケージの作成と公開(setup.py, PyPI) - Qiita

                  PyPI Packaging Python Projects — Python Packaging User Guide pip installでインストールできるPythonパッケージのホスティングハブ。読みはパイ ピーアイ。 この記事ではsetuptoolsとsetup.pyを使う。pyproject.tomlやpoetryについては他の記事をあたってほしい。 バージョンの設定 pypi.org、test.pypi.orgともに同じ名前(バージョン)のアップロードによる上書きはできない(インデックスは独立)。更新/修正したい場合はバージョンを上げること。 0.1.0-alpha < 0.1.0-alpha1 < 0.1.0-beta < 0.1.0-beta1 < 0.1.0 < 0.1.1 PEP 440 -- Version Identification and Dependenc

                    Pythonパッケージの作成と公開(setup.py, PyPI) - Qiita
                  • poetryでsetup.pyを自動生成する - Qiita

                    Poetry ってパッケージ管理だけじゃなくて、ビルドとかインストールもやってくれるから、Poetry 使っているとsetup.py (setuptools) って要らなくなるんだけど、やっぱまだなんか怖いし、Pythonコマンド(CLIアプリ)作って pipx で動かしたい、なんて時には、まだやっぱり setup.py が必要な訳で。 余談 余談なんだけど、pyenv 特に pyenv-virtualenv を使ってて、プロジェクトの数が多くなってしまったとする。ふと整理しようとして、どのプロジェクトがどの virtualenv 使ってたかな、って調べようとすると、これが意外と面倒くさい。 .python-version のファイルを find を使って調べる find . -name .python-version これで virtualenv を使っている Python プロジェクト

                      poetryでsetup.pyを自動生成する - Qiita
                    • Python の setup.py の内容を setup.cfg で管理する

                      TL;DR これはアドベントカレンダーの17日目の記事です。 今日は、Python のパッケージのインストールで使われる setup.py の内容を、設定ファイル setup.cfg に切り出して管理するための方法をまとめました。 setup.py & setup.cfg setup.py は、Python のパッケージを pip などでインストールする際に、パッケージの情報やインストール方法などを記述した Python スクリプトです。 2018年現在は、このスクリプトの中で setuptools をインポートし、以下のように記述するのが一般的です。 from setuptools import setup setup(name='sample', version='0.1', author='astropenguin', ...) setup 関数の引数は少ない場合でも10個近くあるた

                      • pip install時の「“python setup.py egg_info” failed ...」エラー

                        “python setup.py egg_info” failed Command “python setup.py egg_info” failed with error code 1 in ... のエラーが起きる原因は大きく分けて二つ。 pip / setuptoolsが最新でない 必要なライブラリが無い pip / setuptoolsが最新でない これなら単純にupgradeすればよい。 $ pip install --upgrade pip setuptools 必要なライブラリが無い エラーを読むと何が足りないか書いてあったりする。 今回の現象は以下。 $ pip install psycopg2 ... Error: pg_config executable not found. pg_config is required to build psycopg2 from so

                        • Poetry からsetup.py を自動生成する

                          2021-05-23 現状の Poetry では、pyproject.toml を基にした setup.py の直接的な自動生成をサポートしていない。 Support generation of poetry manged setup.py file #761 え?なんで setup.py が必要なんですか? poetry build で生成される source と wheels で事足りるんじゃないですかというツッコミがあると思います。 PyPI や Jflog などでホストせずに、GitHub のリポジトリでパッケージを管理したり、特定のサブディレクトリをパッケージとして扱う際には、未だ setup.py での依存関係の記述が必要です。 Poetry による実現方法poetry build コマンドと Makefile を組み合わせることで、pyproject.toml に対応した s

                            Poetry からsetup.py を自動生成する
                          • setup.pyからPipenvに移行するときの便利/迷いポイント - Qiita

                            はじめに pypiに登録しない場合でもsetup.pyでパッケージ管理をするのはそれなりにポピュラーなやり方だと思いますが そこからPipenvに移行して便利な点と少し迷った点について書きました。 以下で挙げている迷いポイントは全て考慮されていていわゆるバッドノウハウ的なものは必要ありません。 便利ポイント constraints.txtを管理しなくてよい dependencies的なものとdevDependencies的なものの扱いが分かれている Dockerfileに書くときの方法も用意されている 環境がどこにできるのか迷う setup.pyと役割が被っているがsetup.pyを無くせるのか迷う constraints.txtを管理しなくて良い そもそもsetup.pyには以下のような決まりがありました。 ライブラリは、 setup.py の install_requires で 抽象

                              setup.pyからPipenvに移行するときの便利/迷いポイント - Qiita
                            • Pythonを爆速にする「Cython」チュートリアル: C++のコードがライブラリに依存しているとき。setup.pyを書く。 - Qiita

                              Pythonを爆速にする「Cython」チュートリアル: C++のコードがライブラリに依存しているとき。setup.pyを書く。PythonC++Cython 概要 C++ で書いているコードを、どうしてもPythonで呼べる形のライブラリにしたい。 ただ、そこにはCythonという大きな壁が立ちはだかっていた。 これは、 Pythonを爆速にする「Cython」チュートリアル: C++のコードがライブラリに依存しているとき。まずはCMake。 の続きになります。 ここまでで、gmpライブラリに依存したC++のプログラムを、cmakeを使って快適にコンパイルするところまでを見てきました。ここからやっと本題ですが、このC++プログラムをcythonizeするコードを書き、それをsetup.pyでコンパイルしていきます。 ここで使用したコードは、ここのgithub にありますので、興味のある方

                                Pythonを爆速にする「Cython」チュートリアル: C++のコードがライブラリに依存しているとき。setup.pyを書く。 - Qiita
                              • 【Python】【エラー】ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. - Qiita

                                ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. $ pip3 install -r requirements.txt ~~ ERROR: Command errored out with exit status 1: command: /home/sample/work/venv/bin/python3.6 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-pnhw5w4t/psycopg2_e6366d5cdcc146ac8944e7983c5fb5ca/setup.py'"'"'; __file__='"'"'/tm

                                  【Python】【エラー】ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. - Qiita
                                • The `setup.py py2exe` command line interface is deprecated and will be removed in the next major release. - Qiita

                                  The `setup.py py2exe` command line interface is deprecated and will be removed in the next major release.PythonPython3py2exe setup.pyが使えなくなった これらの文献を参考に、pythonファイルを実行ファイルに変換しようとしましたが、タイトルの通りエラーが出てしまいました。 どうやらsetupは使えなくなった模様。 そこで、 こちらの記事を参考に、新しいfreezeメソッドを用いた変換の手順を記していきます。 freezeの使い方 変換したいファイルを用意する。ここではtest.pyとします。 変換用のpythonファイルを作成していきます。名前はおそらく何でもいいのですが、今回は仮にsetup.pyとします。

                                    The `setup.py py2exe` command line interface is deprecated and will be removed in the next major release. - Qiita
                                  • 【Python】【エラー】ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. - Qiita

                                    ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. $ pip3 install -r requirements.txt ~~ ERROR: Command errored out with exit status 1: command: /home/sample/work/venv/bin/python3.6 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-pnhw5w4t/psycopg2_e6366d5cdcc146ac8944e7983c5fb5ca/setup.py'"'"'; __file__='"'"'/tm

                                      【Python】【エラー】ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. - Qiita
                                    • setup.pyでマルウェア |ブログ(ほぼこもセキュリティニュース)|(株)コンステラ セキュリティ ジャパン

                                      setup.pyを使っていますか? Pythonを使っている人は意識しているかどうかにかかわらずこれを使っています。 通常Pythonのパッケージ管理を行う際にはpipコマンドを利用しますが、これがその活動の裏側で使用するのもsetup.pyです。 もちろん直接利用する場合もあります。 通常はこれを利用すると、そのパッケージの動作の前提条件となる他のパッケージを環境にインストールしたりといった準備活動を実施します。 これがあることで作者の意図通りに簡単にその配布されたパッケージを利用できるようになります。 この「作者の意図通りに簡単に」という部分が問題となるケースがあります。 こんな事例がありました。 web3-essentialというPythonのパッケージが公開される web3はブロックチェーンを活用した分散型インターネットの総称で、「データの改ざんリスクが低い」「取引の透明性が高い」

                                      • git レポジトリにあるパッケージを pip install (setup.py-style, pyproject.toml) - Qiita

                                        git レポジトリにあるパッケージを pip install (setup.py-style, pyproject.toml)Python setuptools(デフォルト)を使う場合、以下の形式で install ができます。 pip install "git+protocol://git.example.com/MyProject.git#egg=<project name>&subdirectory=<setup.pyがある階層までのパス>" パラメータ の egg に関して egg= is used by pip in its dependency logic to identify the project prior to pip downloading and analyzing the metadata. pypaのドキュメントの上記説明だと具体的にどのように、何を指定すれば

                                          git レポジトリにあるパッケージを pip install (setup.py-style, pyproject.toml) - Qiita
                                        • [Python]setup.pyで自作パッケージの配布 - Qiita

                                          はじめに 前回作成したPythonプログラムからGmailを送信するプログラムをパッケージ化し、グローバルにimportできるようにします。 githubにリポジトリを作成したのでよろしければ御覧ください。 パッケージ化 ディレクトリ内のトップレベルにsetup.pyを作成します。 from setuptools import setup setup( name='pymail', version='1.0', description='Python Gmail Sender', author='shuyafukushima', author_email='', packages=['pymail'], install_requires=[], # install_requires=['wheel', 'bar', 'requests] 依存する外部ライブラリがあれば記述 )

                                            [Python]setup.pyで自作パッケージの配布 - Qiita
                                          • setup.pyのないGitHubリポジトリからライブラリをimportする方法 - Qiita

                                            ハマったので備忘録として残しておきます。 Pythonでライブラリをインストールするとき一番楽な方法はpip installですが、これは開発者がライブラリをPyPIに登録している必要があります。 GitHubのリポジトリから直接インストールする場合はpip install git+が使えますがこれも開発者がsetup.pyを用意している必要があります。 上記以外の場面でGitHubのライブラリを使いたい時は、以下のようにします。 1. ローカルでライブラリが格納されている場所を調べる import numpy numpy.__file__ # /usr/local/lib/python3.6/dist-packages/numpy/__init__.py 適当なライブラリを使ってライブラリが格納されている場所を調べます。この場合/usr/local/lib/python3.6/dist-

                                              setup.pyのないGitHubリポジトリからライブラリをimportする方法 - Qiita
                                            • ROSのsetup.pyでデータファイルをすべてインストールする - Qiita

                                              Overview cakin_make install時に,pythonモジュールのデータファイルを,ディレクトリ構成を変えずにインストールする 前置き ROSにおいて,pythonモジュールは,以下のようなディレクトリ構成をとることが推奨されています( http://wiki.ros.org/ja/PyStyleGuide ). catkin_ws/ |- <package_name> |- ~~~ |- setup.py |- src/ |- <package_name>/ |- __init__.py |- a.py

                                                ROSのsetup.pyでデータファイルをすべてインストールする - Qiita
                                              1