Python3でverが変わると仕様が変わる
作成のきっかけ、現在UbuntuStudio 18.04 LTSをメインで使用していて、20.04 LTSにバージョンアップしてよいか確認するために前に使用していた古いPCに20.04 LTSをインストールしました。
すると、18.04のpythonで作成したスクリプトが20.04で動作しないしないものがある。
また、20.04のpythonで作成したスクリプトが18.04で動作しないしないものもありました。
すぐに控えておかないとすぐに忘れてしまいそうです。すでに1〜2つの例はlib名は覚えているのですがどの関数だったか忘れてしまいました。
はっきりしたことはわかりませんが、バグフィックスで仕様が変更になっているような気がします。何処かに書いてあるのかな?
実行した環境
Ubuntu Stdio 18.04LTS - Python 3.6.9
Ubuntu Stdio 20.04LTS - Python 3.8.2
from datetime import datetime
jst_date = datetime.strptime('2020/6/28', "%Y/%m/%d") # '2020/6/28'
#Python 3.8.2で動作、Python 3.6.9ではエラー (違いは”:”が入っている - ドキュメント通り)
jst_date1 = datetime.strptime(str(jst_date) + '+09:00', "%Y-%m-%d %H:%M:%S%z") # 2020-06-28 00:00:00+09:00
#Python 3.8.2でエラー、Python 3.6.9では動作 (違いは”:”が入っていない - Python 3.6.9のバグ?)
jst_date1 = datetime.strptime(str(jst_date) + '+0900', "%Y-%m-%d %H:%M:%S%z") # 2020-06-28 00:00:00+09:00
Python 3.8.2ではfontがインストールされているのにmatplotlibの日本語テキストがトウフになって表示されない
(findfont: Font family ['IPAGothic'] not found. Falling back to DejaVu Sans.) 原因がわからない〜
これは解決しました。一度matplotlibをアンインストールしインストールし直したら日本語が表示されるようになりました。
Python 3.6.9では表示される
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.family'] = 'IPAGothic'
plt.text(0.5, 0.5, '日本語', color="#FF0000", fontsize=20, alpha=0.5, rotation=-45)
plt.show()
実行した環境
Ubuntu Stdio 17.10 - Python 3.6.3
Ubuntu Stdio 18.04LTS - Python 3.6.5
この現象はPython 3.6.5にバージョンアップしてなおりました。(多分バグ)
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
m = Basemap() # <ー何も指定しないとPython 3.6.3でも動作しました。
plt.show()
(次のは老いた脳細胞がパニクってしまいました。)
ubuntuとephemのverが異なるのでPythonかライブラリ「ephem」かどちらがバグっているのかわかりませんが、"="の前後に半角スペースを入れるとエラーが出たり間違った結果が出たりします。(私の想像ではver upした「ephem」がバグっているような気がします)
(ubuntu 18.04 Python 3.6.9の方は数日後にインストールしたのに、ephemのバージョンがupされていました。)
最初はやるたびに結果が間違っていなかったり、間違っていたりパニクってしまいました。
以後動作エラー等があれば、追記していきます。
Author And Source
この問題について(Python3でverが変わると仕様が変わる), 我々は、より多くの情報をここで見つけました https://qiita.com/ty21ky/items/31f642976d7167897be4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .