( 実行環境 )
・ MacBookPro macOS Catalina
起きた事
- pyenvを入れる前__に動いていたginza__が認識されなくなった。
- 動いていた__ginzaは、Python 3.9.0__で動いていた。
(Python 3.9.0をインストール後に、pip3 installで以下を実行して入れていた)
Terminal
$ pip3 install "https://github.com/megagonlabs/ginza/releases/download/latest/ginza-latest.tar.gz"
動いていたginzaは、Python 3.9.0で動いていた。
Terminal
% ginza
pyenv: ginza: command not found
The `ginza' command exists in these Python versions:
3.9.0
Note: See 'pyenv help global' for tips on allowing both
python2 and python3 to be found.
%
Pyenvで選択中のPythonのバージョンを確認
Python 3.6.0だった。
Terminal
% python --version
Python 3.6.0
%
Terminal
% pyenv versions
system
3.6.0
3.6.0/envs/TensorFlow
3.9.0
* TensorFlow (set by /Users/ocean/.pyenv/version)
%
解決策
Python 3.9.0に切り替える
Terminal
% pyenv local 3.9.0
% python --version
Python 3.9.0
%
ginzaが無事動いた!
Terminal
% ginza
/Users/ocean/.pyenv/versions/3.9.0/lib/python3.9/site-packages/spacy/util.py:275: UserWarning: [W031] Model 'ja_ginza' (2.2.0) requires spaCy v2.2 and is incompatible with the current spaCy version (2.3.2). This may lead to unexpected results or runtime errors. To resolve this, download a newer compatible model or retrain your custom model with the current spaCy version. For more details and available updates, run: python -m spacy validate
warnings.warn(warn_msg)
mode is C
disabling sentence separator
2027年の開業が難しくなっているリニア中央新幹線をめぐって、沿線の自治体を代表して愛知県の大村知事が10日、国土交通省を訪れ、早期の開業に向けて関係者との協議を国が積極的に行うよう要望しました。
# text = 2027年の開業が難しくなっているリニア中央新幹線をめぐって、沿線の自治体を代表して愛知県の大村知事が10日、国土交通省を訪れ、早期の開業に向けて関係者との協議を国が積極的に行うよう要望しました。
1 2027 2027 NUM 名詞-数詞 NumType=Card 2 nummod _ BunsetuBILabel=B|BunsetuPositionType=CONT|SpaceAfter=No|NE=DATE_B
2 年 年 NOUN 名詞-普通名詞-助数詞可能 _ 4 nmod _ BunsetuBILabel=I|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B|NE=DATE_I
3 の の ADP 助詞-格助詞 _ 2 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
4 開業 開業 NOUN 名詞-普通名詞-サ変可能 _ 7 nsubj _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B
5 が が ADP 助詞-格助詞 _ 4 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
6 難しく 難しい ADJ 形容詞-一般 _ 7 amod _ BunsetuBILabel=B|BunsetuPositionType=CONT|SpaceAfter=No
7 なっ 成る VERB 動詞-非自立可能 _ 12 acl _ BunsetuBILabel=I|BunsetuPositionType=SEM_HEAD|SpaceAfter=No
8 て て SCONJ 助詞-接続助詞 _ 7 mark _ BunsetuBILabel=I|BunsetuPositionType=FUNC|SpaceAfter=No
9 いる 居る AUX 動詞-非自立可能 _ 7 aux _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
10 リニア リニア ADJ 名詞-普通名詞-形状詞可能 _ 12 compound _ BunsetuBILabel=B|BunsetuPositionType=CONT|SpaceAfter=No|NE=ORG_B
11 中央 中央 NOUN 名詞-普通名詞-一般 _ 12 compound _ BunsetuBILabel=I|BunsetuPositionType=CONT|SpaceAfter=No|NP_B|NE=ORG_I
12 新幹線 新幹線 NOUN 名詞-普通名詞-一般 _ 14 obj _ BunsetuBILabel=I|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_I|NE=ORG_I
13 を を ADP 助詞-格助詞 _ 12 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
14 めぐっ 巡る VERB 動詞-一般 _ 21 advcl _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No
15 て て SCONJ 助詞-接続助詞 _ 14 mark _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
16 、 、 PUNCT 補助記号-読点 _ 14 punct _ BunsetuBILabel=I|BunsetuPositionType=CONT|SpaceAfter=No
17 沿線 沿線 NOUN 名詞-普通名詞-一般 _ 19 nmod _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B
18 の の ADP 助詞-格助詞 _ 17 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
19 自治体 自治体 NOUN 名詞-普通名詞-一般 _ 21 obj _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B
20 を を ADP 助詞-格助詞 _ 19 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
21 代表 代表 VERB 名詞-普通名詞-サ変可能 _ 34 advcl _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No
22 し 為る AUX 動詞-非自立可能 _ 21 aux _ BunsetuBILabel=I|BunsetuPositionType=FUNC|SpaceAfter=No
23 て て SCONJ 助詞-接続助詞 _ 21 mark _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
24 愛知県 愛知県 NOUN 名詞-固有名詞-地名-一般 _ 27 nmod _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B|NE=LOC_B
25 の の ADP 助詞-格助詞 _ 24 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
26 大村 大村 PROPN 名詞-固有名詞-地名-一般 _ 27 compound _ BunsetuBILabel=B|BunsetuPositionType=CONT|SpaceAfter=No|NP_B|NE=PERSON_B
27 知事 知事 NOUN 名詞-普通名詞-一般 _ 30 nsubj _ BunsetuBILabel=I|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_I
28 が が ADP 助詞-格助詞 _ 27 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
29 10 10 NUM 名詞-数詞 NumType=Card 30 nummod _ BunsetuBILabel=B|BunsetuPositionType=CONT|SpaceAfter=No|NE=DATE_B
30 日 日 NOUN 名詞-普通名詞-助数詞可能 _ 34 nmod _ BunsetuBILabel=I|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B|NE=DATE_I
31 、 、 PUNCT 補助記号-読点 _ 30 punct _ BunsetuBILabel=I|BunsetuPositionType=CONT|SpaceAfter=No
32 国土交通省 国土交通省 NOUN 名詞-固有名詞-一般 _ 34 obj _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B|NE=ORG_B
33 を を ADP 助詞-格助詞 _ 32 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
34 訪れ 訪れる VERB 動詞-一般 _ 52 advcl _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No
35 、 、 PUNCT 補助記号-読点 _ 34 punct _ BunsetuBILabel=I|BunsetuPositionType=CONT|SpaceAfter=No
36 早期 早期 NOUN 名詞-普通名詞-一般 _ 38 nmod _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B
37 の の ADP 助詞-格助詞 _ 36 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
38 開業 開業 NOUN 名詞-普通名詞-サ変可能 _ 40 obl _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B
39 に に ADP 助詞-格助詞 _ 38 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
40 向け 向く VERB 動詞-一般 _ 52 advcl _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No
41 て て SCONJ 助詞-接続助詞 _ 40 mark _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
42 関係者 関係者 NOUN 名詞-普通名詞-一般 _ 45 nmod _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B
43 と と ADP 助詞-格助詞 _ 42 case _ BunsetuBILabel=I|BunsetuPositionType=FUNC|SpaceAfter=No
44 の の ADP 助詞-格助詞 _ 42 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
45 協議 協議 NOUN 名詞-普通名詞-サ変可能 _ 52 obj _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B
46 を を ADP 助詞-格助詞 _ 45 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
47 国 国 NOUN 名詞-普通名詞-一般 _ 52 nsubj _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B
48 が が ADP 助詞-格助詞 _ 47 case _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
49 積極的 積極的 NOUN 名詞-普通名詞-形状詞可能 _ 52 nmod _ BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NP_B
50 に だ AUX 助動詞 _ 49 aux _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
51 行う 行う VERB 動詞-一般 _ 52 aux _ BunsetuBILabel=B|BunsetuPositionType=CONT|SpaceAfter=No
52 よう 様 AUX 形状詞-助動詞語幹 _ 53 advmod _ BunsetuBILabel=I|BunsetuPositionType=SEM_HEAD|SpaceAfter=No
53 要望 要望 VERB 名詞-普通名詞-サ変可能 _ 0 root _ BunsetuBILabel=B|BunsetuPositionType=ROOT|SpaceAfter=No
54 し 為る AUX 動詞-非自立可能 _ 53 aux _ BunsetuBILabel=I|BunsetuPositionType=FUNC|SpaceAfter=No
55 まし ます AUX 助動詞 _ 53 aux _ BunsetuBILabel=I|BunsetuPositionType=FUNC|SpaceAfter=No
56 た た AUX 助動詞 _ 53 aux _ BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
57 。 。 PUNCT 補助記号-句点 _ 53 punct _ BunsetuBILabel=I|BunsetuPositionType=CONT|SpaceAfter=No
^Z
zsh: suspended ginza
%
ginzaを呼び出す自作スプリプトも実行成功
Terminal
% cd Desktop/tkinter_test
% python --version
Python 3.9.0
% python3 --version
Python 3.9.0
%
% python tkinter_ner_svo_list_filter_by_target_word_and_case_file_dialog3.py
%
%
Terminal
% pyenv versions
system
3.6.0
3.6.0/envs/TensorFlow
* 3.9.0 (set by /Users/ocean/.python-version)
TensorFlow
%
再びpyenvで他のPythonバージョンに変更すると、また動かなくなる
Terminal
% pyenv local TensorFlow
% pyenv versions
system
3.6.0
3.6.0/envs/TensorFlow
3.9.0
* TensorFlow (set by /Users/ocean/Desktop/tkinter_test/.python-version)
%
・Python 3.6.0(名称:TensorFlow)に変更
・動かなくなる
Terminal
% python tkinter_ner_svo_list_filter_by_target_word_and_case_file_dialog3.py
Traceback (most recent call last):
File "tkinter_ner_svo_list_filter_by_target_word_and_case_file_dialog3.py", line 2, in <module>
import tkinter, tkinter.filedialog, tkinter.messagebox, spacy, collections, CaboCha, os, os.path,docx, openpyxl, pptx
File "/Users/ocean/.pyenv/versions/3.6.0/lib/python3.6/tkinter/__init__.py", line 36, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'
%
・ Python 3.9.0(名称:TensorFlow)に変更
Terminal
% pyenv local 3.9.0
・正常に動作する
Terminal
% python tkinter_ner_svo_list_filter_by_target_word_and_case_file_dialog3.py
%
まとめ
__Pythonのどのバージョンの環境__で、以下を行ったかを、自分できちんと認識しておこう。
- ライブラリを入れるとき
- スクリプトファイルをダウンロードしてくるとき
- スクリプトファイルを自作するとき
Tips
a. __pyenv versions__で、いま__どのバージョンのPython環境にいるのか__を確認できる。
b. __pip list__で、いまいる環境で__インストール済みのPython moduleの名前とバージョン__を調べることができる。