【Python3】pip installで出来ること
「pipってなんやねん」みたいなレベルから始まっている44163です。どうも。
この記事にはPythonで使うpipコマンドのことを書いておきます。備忘録。
作業環境:Windows10 Pro, Anaconda, Python3系
pipとは
pipとは、Pythonでよく使うコマンドです。Pythonでのプログラミングを始めたばかりの僕がよく使うのは
pip install pillow
とか、
pip list
とか、そんなのをよく使います。たぶん、もっと、いろんなことできます。
Pythonでは先駆者たちが開発されてきたいろんなツールを便利に使うことができるんですね。
その便利なツールたちをインストールするときに必要なコマンドが
pip install [パッケージ名]
というコマンドです。さっき「ツール」と言いましたが、業界用語では「パッケージ」と呼ぶのかな? 「 モジュール」って書いてあるやつもあるような・・・
始めたばかりだとこの辺の業界用語的なものがよくわからなくて挫折しそうになるんですよね・・・ いかんせん、教科書などで体系的な知識を習得しておらず、最初から実戦!なので(汗)
パッケージが・・モジュールは・・プロキシの設定を・・とか、もう目が回りそう。
とにかく、pip install につづけて欲しいツールの名前を入力してEnterキーをたたけば、何やらごにょごにょと英文が出てきて、しばらくすると「インストール成功したよ」的なメッセージが出ます。エラーもいっぱい出ますけどね(泣)
ちなみにさっき書いた pip list というコマンドは、自分が持っているツールを一覧表示してくれるコマンドです。
Pythonとpip install するパッケージを自分の身体に例えるならば
余談だけど、Pythonが自分の生身の身体とすれば、pip install するのは洋服とか、指輪とか、眼鏡とか、そういうものかな。
洋服は身体を守る機能があり、指輪はパートナーとの絆を確かめる機能があり、眼鏡は遠くをよく見えるようにする機能があるよね。
それと同じように、Pythonにもグラフを書かせたり、難しい行列計算をさせたり、いろんな機能を付与することができるってことだね。
もちろん、例えば洋服には他にも「カッコよく見せる」とか「寒さをしのぐ」みたいな機能もあるよね。
Pythonで扱う様々なパッケージでも同じように、1つのパッケージの中に複数の機能が詰まっているらしい。
バージョン指定してpip install する
それから、pip install のときにはversionの指定をすることもできる。その場合、
pip install pillow==1.2.3
みたいにversionを==に続いて記入する。(上記pillowのversionは架空のもの)
さっきのたとえ話で言うなら、今期モデルの洋服を身に着けるか、或いは古着を身に着けるかを選択できるってことかな。何も指定しなければ・・・たぶん最新のものがインストールされるんじゃないかと思いますがよく知りません。
プログラムが大きくなっていくと、色んなパッケージが組み合わさっていくと思うんだけど、そうするとこっちのパッケージとあっちのパッケージのバージョンの依存関係がよろしくない!みたいになってプログラムが止まっちゃうこともあるみたい。
またまたさっきのたとえ話で言うならば、上はジャケットとネクタイでビシッと決めてきたけど、下はパンツ一丁でした~みたいな感じで、それでは外を出歩けないですよね・・・(つまり動けない)
そういうことです。たぶん。
まだまだ覚えること沢山。がんばろうね~。
読んでくれてありがとうございました。
はじめまして。このブログについて。
はじめまして。44163です。
暗号みたいな怪しい名前ですが、URL見てもらえばなんで44163なのか分かるかと・・・
自己紹介
棒企業で働く会社員です。機械学習使ってなんか面白いことやるぞー!と企んでいます。ブログに書いている内容は仕事とは関係あったりなかったり・・・
このブログに書くこと
基本的には、自分の備忘録です。扱うのはPython3系、HTMLとかJavaScriptとか、あとはExcelのVBAとか。
プログラム書くときはいつもいろんな方のブログを参考にさせてもらって書いていますが、自分も誰かのお役に少しでも立てるならば・・・と一念発起して始めました。
続かないかもしれません。でもいいんです。自分の備忘録なんで。(誰かのお役に・・なんて言っておきながら矛盾)
記事を書くにあたっての想い
ちょっと大げさだけど、記事を書くにあたっての想いを綴ってみたい。いや、ホント大げさだけど。
この前、AtCorderという競技プログラミング関係の会社の高橋社長(=天才プログラマー)がプログラミングについて語ってらっしゃる動画を見まして。
そこで彼が言われてたのは、「今からプログラミング始めようって人がプログラマー目指しちゃいけないよ」ってこと。「プログラマー目指したら、僕みたいなやつと張り合わなきゃいけないんだよ?そんなのできる?」って。
すごい自信だなーと思ったのと、その後彼が言ってたことがとても響いたんです。
「プログラマー目指すんじゃなくて、プログラムができる人になればいい。自分の専門領域の知識にプログラミングの知識やスキルが合わされば、めちゃめちゃ面白いものがもっと生まれると思う」みたいなこと言われてたんですね。
だいぶ前に見たので一言一句この通りではないですが、そんなようなことを言ってました。そうか、自分が目指すところはそこなんだ、ってすごく腑に落ちたというか。
それで、自分も(最初は仕事で必要に迫られて)プログラミングを始めたわけだけど、いろいろ検索しながら四苦八苦しながらプログラミングやってるけど、やっぱり自分よりは圧倒的に知識持ってる人たちが書かれてるものが多いんですよね。
そりゃ当たり前の話なんだけど、でも僕みたいなプログラミング初心者で、初心者なりに咀嚼して理解して、そして実践してプログラムが動いた!ってレベルの人間の発信する情報も、あってもいいのかなって思ったりして。
すごく知識も経験も豊富な方が発信される情報には情報の確かさは確かにあるんだけど、でも専門用語がわからなかったり、たぶんその人の中では当たり前のことが行間にはあるんだけど、僕みたいな素人にはその行間が読めない。
だったら、これからプログラミングを始めたい!って人と、僕よりも圧倒的に経験豊富な方々が発信されるブログやなんやの情報源の間くらいに位置するメディアがあってもいいかな・・なんて。漠然と思ってるわけです。
そんなことで、このブログは情報の確度や正確性よりも、これからプログラミングはじめよう!って人に寄り添えるブログにしてみたいと思います。
もちろん情報の正確性は大事なんだけど、まずは自分がやってることがどういうことなのかイメージできないと、はじめよう!って思った次の瞬間に心折れちゃうよね・・・
だから、そんな位置づけを目指します。できるだけ、正確性にも気を付けていきます。(絶対ではありません。あしからず。)
プログラミング歴
書いたように、僕はプログラマーではありません。プログラミングでメシは食ってません。あくまで、仕事で必要に迫られてプログラム書いているだけです。でも、これからの時代、プログラム書けると何かと便利だったり、重宝されますよね。(たぶん)
ExcelのVBAでマクロ作って事務作業の効率化をやったり、Pythonが流行ってるらしいというのでいじってみたり、いじりだしたら機械学習とかやってみたくなったり、あとはブログ書くのも好きなのでHTMLとかちょっとかじってみたり、JavaScriptでWEBページにちょっと動きを付けてみたり・・・
そんなことを仕事と趣味の間で、習うより慣れろ!って感じでやってます。どのプログラミング言語についても真面目に座学で体系的に学んだことはありゃしません。
このブログへのご意見等
ご意見ご指摘いただけるのは大変ありがたいことです。できる限り返信しようと思いますが、記事書く時しかブログの管理画面にアクセスしないと思いますので、返事遅くても怒らないでくださいね。
あと、プログラミングに関する技術的な質問を頂いてもお応えしかねます。なんと言っても素人なので。
細々と書いていきます。よろしくお願いします。