えええ~Pythonって、蛇の名前だったの?!pyhonで検索したら蛇の画像が出てきました。
macOSの辞書でpythonを検索したら、「ニシキヘビ」出てきました。今更ながら、そういう意味だと知りました。
さらに、pythonの意味の中に、「ピュトン【ApolloがDelphiで退治した大ヘビ】」とあります。
えええ〜Delphiって蛇退治の道具だったりして?!
なんでDelphiに反応したかというと、私が最初に習ったプログラミング言語はPascalでした。Delphi自体は使ったことはありませんが、Object Pascalと言ったりして文法的なところは同じであるはずです。
そのDelphiというのは、そんなところから来た名前だったりするのかな?と思ったら、ちょっと意外というところになります。
いきなり本筋から外れましたね。。雑談はそのぐらいにしておきましょう。
Pythonの環境
公式の認定テキストである「Python実践レシピ」(技術評論社)を順にやっていきます。
テキストでは、いきなりPythonパッケージ管理ツールpipの導入から始まってますが、Python入ってましたっけ?
当方の環境はmacOS Ventura (v13.4)です。確認したところ、awscliを使うには、Pythonが必要だったみたいで、既に入れてます。
Pythonはまだインストールされてないのであれば、私はHomebrewを使ってますが、次のコマンドで行けるはずです。
brew install python@3.11
インストールできましたら、次のでPythonのバージョンを確認できるはずです。
% python3 -V
Python 3.11.4
pipはPythonをインストールしたらついてくるものですかね?!
見た感じ、pipコマンドも次のように確認できます。
% pip3 -V
pip 23.2.1 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)
これで、とりあえず土俵に立ったと思います。
要点
テキストのPythonの環境の内容について自分なりにまとめた要点は以下です。
ご参考になれば嬉しいです。
エラーと対処法
私がテキスト通りにやっていく中で直面したエラーと対処法について紹介します。
Permission deniedエラー
pipバージョン指定したパッケージのインストールした際、次のようにPermission denied: '/usr/local/my_data'
ができました。
% pip3 install sampleproject==1.2.0
Collecting sampleproject==1.2.0
Downloading sampleproject-1.2.0-py2.py3-none-any.whl (3.8 kB)
Requirement already satisfied: peppercorn in /usr/local/lib/python3.11/site-packages (from sampleproject==1.2.0) (0.6)
Installing collected packages: sampleproject
Attempting uninstall: sampleproject
Found existing installation: sampleproject 3.0.0
Uninstalling sampleproject-3.0.0:
Successfully uninstalled sampleproject-3.0.0
Rolling back uninstall of sampleproject
Moving to /usr/local/bin/sample
from /private/var/folders/h7/tlsd3sws26qdyrlph28ksk_w0000gn/T/pip-uninstall-l3u7_yz3/sample
Moving to /usr/local/lib/python3.11/site-packages/sample/
from /usr/local/lib/python3.11/site-packages/~ample
Moving to /usr/local/lib/python3.11/site-packages/sampleproject-3.0.0.dist-info/
from /usr/local/lib/python3.11/site-packages/~ampleproject-3.0.0.dist-info
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/usr/local/my_data'
Consider using the `--user` option or check the permissions.
バージョン指定しない場合では、次のようにエラーになることはなかったので、1.2.0の後続バージョンで修正されたではないかと思われます。
% pip3 install sampleproject
Collecting sampleproject
Downloading sampleproject-3.0.0-py3-none-any.whl (4.7 kB)
Collecting peppercorn (from sampleproject)
Downloading peppercorn-0.6-py3-none-any.whl (4.8 kB)
Installing collected packages: peppercorn, sampleproject
Successfully installed peppercorn-0.6 sampleproject-3.0.0
そのため、Permission deniedエラーも無視していいと思いますが、エラーメッセージにある--user
をつけると、次のようにエラーなくなります。
% pip3 install sampleproject==1.2.0 --user
WARNING: Ignoring invalid distribution ~ampleproject (/usr/local/lib/python3.11/site-packages)
Collecting sampleproject==1.2.0
Using cached sampleproject-1.2.0-py2.py3-none-any.whl (3.8 kB)
Requirement already satisfied: peppercorn in /usr/local/lib/python3.11/site-packages (from sampleproject==1.2.0) (0.6)
WARNING: Ignoring invalid distribution ~ampleproject (/usr/local/lib/python3.11/site-packages)
Installing collected packages: sampleproject
WARNING: The script sample is installed in '/Users/ユーザ名/Library/Python/3.11/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
NOTE: The current PATH contains path(s) starting with `~`, which may not be expanded by all applications.
Successfully installed sampleproject-1.2.0
ソースブロックだと分かりにくいですが、上記中にはWARNING
が入ってます。
特定なユーザ環境にしか適用されてないよと言ってますね。
それがい一応下記の対応で無事インストールできることを確認しました。
% sudo mkdir /usr/local/my_data
% sudo chown ${whoami}:staff /usr/local/my_data
% pip3 install sampleproject==1.2.0
Collecting sampleproject==1.2.0
Using cached sampleproject-1.2.0-py2.py3-none-any.whl (3.8 kB)
Requirement already satisfied: peppercorn in /usr/local/lib/python3.11/site-packages (from sampleproject==1.2.0) (0.6)
Installing collected packages: sampleproject
Attempting uninstall: sampleproject
Found existing installation: sampleproject 3.0.0
Uninstalling sampleproject-3.0.0:
Successfully uninstalled sampleproject-3.0.0
Successfully installed sampleproject-1.2.0
ここでは、--user
をつける方で進めます。
WARNING: Ignoring invalid distribution ~ampleproject問題
アップグレードやってました。次のようになりました。
% pip3 install --upgrade sampleproject
Requirement already satisfied: sampleproject in /Users/ユーザ名/Library/Python/3.11/lib/python/site-packages (1.2.0)
Collecting sampleproject
Using cached sampleproject-3.0.0-py3-none-any.whl (4.7 kB)
Requirement already satisfied: peppercorn in /usr/local/lib/python3.11/site-packages (from sampleproject) (0.6)
Installing collected packages: sampleproject
Attempting uninstall: sampleproject
Found existing installation: sampleproject 1.2.0
Uninstalling sampleproject-1.2.0:
Successfully uninstalled sampleproject-1.2.0
WARNING: Ignoring invalid distribution ~ampleproject (/usr/local/lib/python3.11/site-packages)
Successfully installed sampleproject
WARNING: Ignoring invalid distribution ~ampleproject (/usr/local/lib/python3.11/site-packages)
WARNING: Ignoring invalid distribution ~ampleproject (/usr/local/lib/python3.11/site-packages)
WARNING
が連発してます。。これで成功したの?!とだいぶ怪しいですが、ここの~ampleproject
はおそらくsampleprojectのことです。
そしたら、次のインストールされたパッケージとバージョンの確認で、やっぱり問題です。
次のようにPackage
にはテキストのようにsampleprojectは表示されませんでした。
% pip3 list
WARNING: Ignoring invalid distribution ~ampleproject (/usr/local/lib/python3.11/site-packages)
Package Version
---------- -------
cffi 1.15.1
docutils 0.20.1
peppercorn 0.6
pip 23.2.1
protobuf 4.21.12
pycparser 2.21
setuptools 68.0.0
wheel 0.41.0
WARNING: Ignoring invalid distribution ~ampleproject (/usr/local/lib/python3.11/site-packages)
WARNING: Ignoring invalid distribution ~ampleproject (/usr/local/lib/python3.11/site-packages)
/usr/local/lib/python3.11/site-packages
配下を見てみたら、「~ample」や「 ~ampleproject-1.2.0.dist-info」というファイルがありました。
たぶんこいつが悪さしているだろうと思い、次のコマンド削除してみました。
rm -rf /usr/local/lib/python3.11/site-packages/\~ample*
そしたら無事次のようにインストールしたパッケージが表示されるようになりました。
% pip3 list
Package Version
------------- -------
cffi 1.15.1
docutils 0.20.1
peppercorn 0.6
pip 23.2.1
protobuf 4.21.12
pycparser 2.21
sampleproject 1.3.1
setuptools 68.0.0
wheel 0.41.0
sampleproject
は1.2.0から1.3.1にアップグレードされましたね。
コメントを残す