5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
藤本 博子さんの投稿
(投稿ID: 5295)
ありがとうございます。
また、既存のプロジェクトのライブラリ群を、requirements.txtを使って、新しいプロジェクトにインストールする方法を試してみたので、コメントいたします。
※requirements.txtとは
Python の開発環境で使われている、パッケージの名前とバージョンの一覧が記載されているファイルです。
複数の環境でバージョンを統一するときに、pipでパッケージ名とバージョン番号を指定したテキストファイルを用意して、利用したい環境にインストールすることで、バージョンを統一できるそうです。
※参考リンク
・PyCharmでプロジェクトを構成する>プロジェクト要件を管理する>Requirements.txtを使用する
pip freeze > requirements.txtコマンドラインで実行して、プロジェクトのrequirements.txtファイルを生成することもできます。詳細については、 https://pip.pypa.io/en/stable/reference/pip_freeze/を参照してください。
https://www.jetbrains.com/help/pycharm/managing-dependencies.html#configure-requirements
・Pip documentation>pip freeze
https://pip.pypa.io/en/stable/cli/pip_freeze/
・pypiのサイト pip freeze requirementsで検索してみました。このページでよいのかどうか・・・・
https://pypi.org/project/freeze-requirements/
※手順
[1]requirements.txtを生成する
コピー元のディレクトリに移動して、requirements.txtを生成する
以下のコマンドを実行します。
pip freeze > requirements.txt
そうすると、プロジェクトフォルダの配下にrequirements.txtが作成されます
以下の通りライブラリ名と、バージョンが記載されてます。先生の解説にあった通り、バージョンが==の後に表記されてます。
et-xmlfile==1.1.0
openpyxl==3.0.10
[2]requirements.txtをインストールする
requirement.txtを参照してパッケージをインストールするには、以下を実行する。
pip install -r requirements.txt
このコマンドもvenvで作った仮想環境上で実行しました。
※私が試したこと
(1)生成したrequirements.txtを、新しいプロジェクトの配下にコピー
(2)新しい仮想環境にアクセスしてpip freeze →プロジェクトを作った直後は、ライブラリは何もインストールされてない
(3)pip install -r requirements.txtを実行 →インストール実行される
(4)pip freezeでライブラリ群がインストールされたか確認
→requirements.txtでインストールしたライブラリ群の一覧が表示されました。
小川 慶一さんのコメント
(コメントID: 7517)
requirements.txt での導入についても、追って扱いたいと思っていました。(そのときには、追加情報もお伝えします (^^* )
aliceさんのコメント
(コメントID: 7526)
藤本さんがrequirements.txtについて書かれていたので、ライブラリのインストールについて調べているときにrequirements.txtが結構目にとまりました。(何をしているかはわからないけど、頭の片隅にありました)
まだ全然理解できておらず、何となくこういうことをしているのかなー?というレベルですが、それでもrequirements.txtという単語を知る前と後では見える世界が違うし、一度聞いた言葉なので理解が早まるなーと思いました。
ありがとうございます。
またぜひいろいろ教えてくださいませ(❁´◡`❁)
小川 慶一さんのコメント
(コメントID: 7530)
requirements.txt については、基礎文法講座後半、「クラス」の説明が出てくるあたりで登場予定です。
の -r は「インストールするライブラリのリストを、テキストファイルから読み込む」という意味です。
たとえばhogehoge と fugafuga の2つのライブラリをインストールしてもらうとして、
と書いてもらうようにしても良いのですが、ちょっと手間です。
hogehoge と fugafuga の2つくらいなら良いですが、20個とかあると面倒くさすぎですね (^^;
そこで、requirements.txt の出番です。
たとえば、僕が作ったアプリを alice さんに試してもらうとします。
そのとき、僕は、 .py ファイルとは別に、 requirements.txt を作り、以下のように書いておきます。
あとは、 .py ファイルなどといっしょに、 alice さんに渡すだけ。
alice さんがやることは、 以下のコマンドを実行するだけです。
なお、 requirements.txt は、手書きではなく、コマンドを実行することで作れます。
openpyxl 等を pip でインストールしたあと、試してみてください。
以下の書式。「 > 」は、「出力結果を、このファイルに書き込みます」という意味です。
藤本 博子さんのコメント
(コメントID: 7533)
コメントありがとうございます。
python環境構築に関することも、馴染みのない分野でビビっておりました。(^_^;)
しかし、環境設定方法など講座で学んあとだと、ネットで調べものしても、自分事として目に止まる情報も増えてきますね。今は分からなくても、後で分かるようになるかなー。(いつか)と思えるようになりました。
alice さんのnote拝読しました。
ご自身が理解したことを咀嚼、整理しながらアウトプットされていて、素晴らしいと思いました。また、ビジュアル面のセンスともに素敵です!
イラストかわゆいですね(^-^)
色々教えていただいたり、刺激をいただきたいです。
引き続きよろしくお願いします!
aliceさんのコメント
(コメントID: 7536)
わかりやすい解説をありがとうございます!
openpyxlをインストールして試してみました(藤本さんがされたことと同じです)
・複数のライブラリを1回でインストールできる
・ライブラリ名を自分で書かなくてよい
・入力しないので打ち間違いをしない
・バージョンも指定できる
という点が便利だなと思いました。
雑なたとえですが、買い物リストを持って買い物に行くとして
・pip install hogehoge fugafuga
→買い物リストをみながらひとつずつかごに入れる
・pip install -r requirements.txt
→買い物リストを渡したら全部かごに入れてくれる(数量指定までばっちり!)
くらいの違いがあって、すごい便利機能だなと思いました。
>「 > 」は、「出力結果を、このファイルに書き込みます」という意味です。
「 > 」はPowerShellの特殊文字なんですね。
PowerShellとPythonが頭の中でぐちゃぐちゃになっていることに気づいたので、少し整理します。
(よく考えてみればここまではPowerShellの操作でしたね)
いろいろ勉強になりました。
ありがとうございました!!
藤本さん
noteを読んでいただきありがとうございます!
さらに優しいコメントまでありがとうございます!!
すごく嬉しいです(❁´◡`❁)
藤本さんの投稿がきっかけでたくさん学ぶことがありました。
ありがとうございます!
こちらこそこれからもよろしくお願いいたします!
小川 慶一さんのコメント
(コメントID: 7547)
環境まわりは、独学だとハマりそうですね。
とはいえ、一度地図を受け取って、地図を見ながら自分で歩いてみた体験があると、だいぶ見え方は変わるかと。
aliceさんのnoteはスゴいですよ!!
僕も、はじめてみたとき、ビックリしました。
というか、pip install についての「買い物リスト」のメタファ、すばらしい!分かりやすいです (^^*
> 「 > 」はPowerShellの特殊文字なんですね。
というか、よくある記法です。
Linux環境でも、「コマンドを実行して、その結果は hogehge.txt にしたい」といったときにこういう書き方をします。