0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pyenvを入れてライブラリがnot foundになったり、スクリプトが動かなくなったら、まず最初にやること

Last updated at Posted at 2020-12-10

( 実行環境 )

・ MacBookPro macOS Catalina

起きた事

  1. pyenvを入れる前__に動いていたginza__が認識されなくなった
  2. 動いていた__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
% 
%

スクリーンショット 2020-12-10 14.43.07.png

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

% 

スクリーンショット 2020-12-10 14.43.07.png


まとめ

__Pythonのどのバージョンの環境__で、以下を行ったかを、自分できちんと認識しておこう。

  1. ライブラリを入れるとき
  2. スクリプトファイルをダウンロードしてくるとき
  3. スクリプトファイルを自作するとき

Tips

a. __pyenv versions__で、いま__どのバージョンのPython環境にいるのか__を確認できる。
b. __pip list__で、いまいる環境で__インストール済みのPython moduleの名前とバージョン__を調べることができる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?