質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

1回答

1658閲覧

インストール済みのパッケージが利用できない.【mecabとgensim】

studyprg

総合スコア57

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2022/11/29 06:54

前提

自然言語処理について勉強しています。
Wikipediaのdumpデータから本文を抜き出して処理をしようと思ってます。
実行時に使っているパッケージが利用できなくて困ってます.

ソースコードとエラー

python

1#import mecab #mecabでエラーが出たので一旦コメント化している 2import gensim 3from gensim.models.doc2vec import Doc2Vec 4 5def opens(): 6 model= Doc2Vec.load("/content/drive/MyDrive/jawiki.doc2vec.dbow300d.model") 7 return model 8 9def cntS(t, d, theta): 10 s = 0 11 12 for x in d: 13 if model.similarity(t, x) >= theta: 14 s += 1 15 16 return s 17 18 19#model = Doc2Vec.load("jawiki.doc2vec.dbow300d.model") 20text = "湖山池 湖山池 は 鳥取 県 鳥取 市 に ある 湖 で ある なお 池 と 付く 湖沼 の 中 で は 日本 の 広 さ で も ある 姉妹 湖 として 島根 県 の 神西湖 が ある 湖山池 は 、 鳥取 で は 中海 の に 大きい 湖沼 で 古代 に 日本海 から し た 場所 が 砂丘 の 発達 や 堆積 により 海 と さ れ て でき た 海 跡 湖 で も ある 。 大小 の 小島 が 浮かぶ の 島 の 青島 に は から 架橋 さ れ て おり の 木 が 植え られ た 道路 で 徒歩 や 自転車 により する こと が でき キャンプ も 数 本 の が 、 川 によって 日本海 と 結ば れ て おり 鳥取 市 郊外 の 地 の と なっ て いる 地区 で は 的 に も 珍しい 石 漁 が に 行わ れ 石 の に 潜む を 棒 で つつい て する で 、 県 の 文化財 に さ れ て いる の 自治 や NPO が に 努め て い て 、 間 中 に は 石 祭 も 行わ れる 。 姉妹 湖 の 神西湖 シジミ も よく 穫 れる 。 広大 な を 有し て い た 長者 が 、 日没 まで に 田植え が 終わら なかっ た 扇子 で を 招き 返し て 田植え を 終え た が 、 一夜 明ける と 田 は 池 に 変わっ て い た という 長者 の 伝説 が 知ら れ て いる 似 た よう な 話 が 岐阜 市 の が 池 に 伝わっ て いる 古く から 開け た 地域 で あり 青島 周辺 に は 縄文 時代 から 弥生 時代 にかけて の 遺跡 が また 時代 に は 東側 の 湖畔 に 守護 所 で ある 天神山 城 が 置か れ 西側 の 湖畔 に 突き出 た 半島 に は 国人 領主 の 吉岡 氏 の 居城 だっ た が 築か れ た は JR 山陰本線 駅 駅 1995 年 7 月 27 日 鳥取 駅 が 加わっ た また 、 鳥取 駅 駅 の 間 で は 南 に 池 の 美しい 風景 が 見える ちなみに の 海 は 松林 で ある 。 2013 年 3 月 、 アザラシ が 発見 さ れ た 。 2012 年 3 月 に が と なっ た 川 を通じて 日本海 から 入っ て き た と 考え られる 2 2014 年 10 月 19 日 約 30 年 に 船 の を 3 画像 青島 石 が ま 歌川 脚注 脚注 の 国土 地理 院 2018 年 10 月 1 日 平成 30 年 都道府県 面積 調 湖沼 面積 2019 年 2 月 3 日 閲覧 日本 の 池 、 水門 鳥取 初 の 化 47 2012 年 3 月 12 は 濃度 の 上昇 に 伴い 環境 が 変化 し た 存在 し ない 類 が し から し て い た 類 が 絶滅 し つつ ある ニュース 山陰放送 山陰放送 2014 年 10 月 20 日 閲覧 関連 に は 湖山池 に 関連 する カテゴリ が あり ます 日本 の 湖沼 天神山 城 石 漁 東郷池 鳥取 県 中部 に ある 湖 で は も 池 と 呼ぶ " 21 22m = MeCab.Tagger("-Ochasen") 23 24f=open('simw_d2v_2.txt',"w") 25nouns = [line.split()[0] for line in m.parse(text).splitlines() 26 if "名詞" in line.split()[-1]] #ここをへんこうする 27for str in nouns: 28 str.split() 29fx=opens()#モデル読み込み 30 #str内に格納済み 31#print(nouns)#中身の確認 32a=0 33l_size=len(nouns) 34 35 36 37 38#ここで重複単語の除外 39print("重複単語除外") 40nouns2 = [] 41for x in nouns: 42 if not x in nouns2: 43 nouns2.append(x) 44 l_size2=len(nouns2) 45print(nouns2) 46print(l_size2,"単語") 47listn=[[None]*l_size2 for i in range(l_size2)] 48 49

eroor

1Traceback (most recent call last): 2 File "deftest.py", line 2, in <module> 3 import gensim #mecabでも同様のエラー 4ImportError: No module named gensim 5”””#以下省略

実現したいこと

mecabとgensimを読み込んで利用できるようにしたいです.

やったこと

  • mecab,gensimの入れ直し(既にあると返される.)

補足情報(FW/ツールのバージョンなど)

MacBookπ路(2017)macos:11.6
editor:Code
usage: /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Try `python -h' for more information.
piplist
Package Version


certifi 2022.9.24
charset-normalizer 2.1.1
gensim 4.2.0
idna 3.4
mecab 0.996.3
mecab-python3 1.0.5
numpy 1.23.5
pandas 1.5.2
pip 22.3.1
plac 1.3.5
protobuf 4.21.9
python-dateutil 2.8.2
pytz 2022.6
requests 2.28.1
scipy 1.9.3
setuptools 65.4.1
six 1.16.0
smart-open 6.2.0
tqdm 4.64.1
unidic 1.1.0
urllib3 1.26.13
wasabi 0.10.1
wheel 0.37.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2022/11/29 07:10

pythonで下記を実行して、使ってるpythonの絶対パスを調べてください import sys print(sys.executable) 上記で調べた絶対パスが、たとえば /aaa/bbb/python だとしたら、ターミナルで(pythonが起動してない状態で)下記を実行したら、インポートできるようになると思います (実行する際は、調べた実際のpythonのパスに置き換えてください) /aaa/bbb/python -m pip install モジュール名
jbpb0

2022/11/29 07:15

質問のタグに「Python 2.7」とありますが、本当に2.7を使ってるのでしょうか?
studyprg

2022/11/29 08:50

CODEから実行するときは3.11になります。 でも備え付けのターミナルから実行しているので2.7のはずです。
studyprg

2022/11/29 08:50

やってみます。
studyprg

2022/11/29 08:56

sys実行しました. % python WARNING: Python 2.7 is not recommended. This version is included in macOS for compatibility with legacy software. Future versions of macOS will not include Python 2.7. Instead, it is recommended that you transition to using 'python3' from within Terminal. Python 2.7.16 (default, Sep 6 2021, 07:39:44) [GCC Apple LLVM 12.0.5 (clang-1205.0.19.59.6) [+internal-os, ptrauth-isa=deploy on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> print(sys.executable) /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python >>>
studyprg

2022/11/29 08:57

python2.7ですね.
studyprg

2022/11/29 08:59

gensim入れようとしたら困難になりました. %/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -m pip install gensim /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: No module named pip
jbpb0

2022/11/29 13:21

mecabとgensimを使うのに、python 2.7でなければいけない理由があるのですか? 特に理由が無いなら、python 3.*を使えばいいと思うのですが > CODEから実行するときは3.11になります。 3.11はリリースされて日が浅く、対応してないものがまだいろいろあるので、しばらくは使わない方がいいですよ
studyprg

2022/11/29 14:15

了解です。 3系を使うようにしてみます
studyprg

2022/11/30 12:50

コメントを参考にして実行しました. cmdからmecabは動くようです. Warning: mecab-ipadic 2.7.0-20070801 is already installed and up-to-date. To reinstall 2.7.0-20070801, run: brew reinstall mecab-ipadic % mecab スノのの スノ 名詞,一般,*,*,*,*,* の 助詞,連体化,*,*,*,*,の,ノ,ノ の 名詞,非自立,一般,*,*,*,の,ノ,ノ EOS % python3 d2v_sankan.py Traceback (most recent call last): File "/Users/daru/python/kennkyu/d2v_sankan.py", line 2, in <module> import mecab
studyprg

2022/11/30 12:51

d2v_sankan.py は過去に作ったmecabとgensim両方使うプログラムです.
studyprg

2022/11/30 12:52

cmdだとpythonは3.10.5です.
jbpb0

2022/11/30 13:34 編集

> Traceback (most recent call last): File "/Users/daru/python/kennkyu/d2v_sankan.py", line 2, in <module> import mecab の下に何か表示されてませんか?
studyprg

2022/11/30 14:18

no module errorでしたね。
jbpb0

2022/12/01 01:14

> no module errorでしたね。 表示されたのは、上記「no module error」だけでしょうか? エラーメッセージは、できるだけ省略せずに全部書いてください (ユーザー名等の個人情報は伏せ字にしていいですが) 私の最初のコメントに書いた方法でインストールして、インストールに成功したら、「no module」にはならないはずなのですが、変ですね その時にインストールは成功したのでしょうか? /aaa/bbb/python -m pip install mecabのモジュール名 をもう一度実行したら、どうなりますか? インストール済みって表示されますか? (実行する際は、調べた実際のpythonのパスに置き換えてください) また、上記コマンドで指定した「mecabのモジュール名」は、何でしょうか?
studyprg

2022/12/01 02:17

コマンドこんな感じです. ずっとこうですね % python3 d2v_sankan.py Traceback (most recent call last): File "/Users/daru/python/kennkyu/d2v_sankan.py", line 2, in <module> import mecab ModuleNotFoundError: No module named 'mecab'
studyprg

2022/12/01 02:19

さいきんのコマンド履歴を載せときます. history 1036 python deftest.py 1037 python 1038 /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python-m pip install gensim 1039 /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -m pip install gensim 1040 python3 deftest.py 1041 python3 d2v_ver_dict.py 1042 python3 d2v_ver_dict.py 1043 python3 d2v_ver_dict.py 1044 python3 d2v_sankan.py 1045 pip3 install mecab-python3 unidic-lite 1046 python3 d2v_sankan.py 1047 brew install mecab-ipadic 1048 mecab 1049 python3 d2v_sankan.py 1050 python3 -ver 1051 python3 -V
jbpb0

2022/12/05 06:10 編集

> 3系を使うようにしてみます > cmdだとpythonは3.10.5です. mecabとgensimを使うために起動してるpythonは、3.10ですよね? > /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -m pip install gensim その3.10の絶対パスが /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python なのですか? パスに「2.7」が入ってるので、それは3.10ではなく2.7では? python 3.10を起動して、下記を実行して、python 3.10の絶対パスを調べてください import sys print(sys.executable) 調べたpython 3.10の絶対パスを使って、ターミナルで(pythonが起動してない状態で) /aaa/bbb/python -m pip install mecab-python3 unidic-lite gensim のようにしてインストールしてみてください (実行する際は、調べた実際のpythonのパスに置き換えてください) インストールが成功したら、python 3.10を起動して、 import MeCab import gensim を実行してみてください
studyprg

2022/12/05 05:21

% python3 Python 3.10.5 (v3.10.5:f377153967, Jun 6 2022, 12:36:10) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> print(sys.executable) /usr/local/bin/python3 でインストール % /usr/local/bin/python3 -m pip install mecab-python3 unidic-lite gensim Collecting mecab-python3 Using cached mecab_python3-1.0.5-cp310-cp310-macosx_10_15_x86_64.whl (282 kB) Collecting unidic-lite Using cached unidic_lite-1.0.8-py3-none-any.whl Requirement already satisfied: gensim in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (4.2.0) Requirement already satisfied: numpy>=1.17.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from gensim) (1.23.1) Requirement already satisfied: smart-open>=1.8.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from gensim) (6.0.0) Requirement already satisfied: scipy>=0.18.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from gensim) (1.8.1) Installing collected packages: unidic-lite, mecab-python3 WARNING: The scripts mecab-py and mecab-py-info are installed in '/Library/Frameworks/Python.framework/Versions/3.10/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. Successfully installed mecab-python3-1.0.5 unidic-lite-1.0.8 で実行しました. % python3 d2v_sankan.py Traceback (most recent call last): File "/***/***/python/****/d2v_sankan.py", line 2, in <module> import mecab ModuleNotFoundError: No module named 'mecab' gensimのバージョンかもしれません. 過去にword2vec使うときにgensimの2.??.??で実行しろって言われた気がします.
jbpb0

2022/12/05 05:42 編集

> import mecab ModuleNotFoundError: No module named 'mecab' import mecab ↓ 変更 import MeCab としたら、どうでしょうか?
studyprg

2022/12/05 05:57

やってみます
studyprg

2022/12/05 06:02

やってみた結果,MeCabの読み込みはうまいこといけました. でもdl済みのモデルが使えないっすね. d2v_sankan.py", line 5, in <module> model = Doc2Vec.load("jawiki.doc2vec.dbow300d.model") File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/models/doc2vec.py", line 815, in load raise ae File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/models/doc2vec.py", line 809, in load return super(Doc2Vec, cls).load(*args, rethrow=True, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/models/word2vec.py", line 1946, in load raise ae File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/models/word2vec.py", line 1939, in load model = super(Word2Vec, cls).load(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/utils.py", line 487, in load obj._load_specials(fname, mmap, compress, subname) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/models/word2vec.py", line 1955, in _load_specials super(Word2Vec, self)._load_specials(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/utils.py", line 518, in _load_specials getattr(self, attrib)._load_specials(cfname, mmap, compress, subname) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/utils.py", line 1522, in new_func1 return func(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/models/doc2vec.py", line 328, in docvecs return self.dv AttributeError: 'Doc2Vec' object has no attribute 'dv'. Did you mean: 'dm'?
studyprg

2022/12/05 06:05

質問の内容と食い違ってますね.一旦解決としますね.
studyprg

2022/12/05 06:06

まとめてくださいますか? ベストアンサーにします.
jbpb0

2022/12/05 06:23 編集

> dl済みのモデルが使えない gensimは、モデルを保存した時とバージョンが大きく違うと、 > AttributeError: 'Doc2Vec' object has no attribute 'dv'. Did you mean: 'dm'? みたいなのが出ることがあります 【追記】 > model = Doc2Vec.load("jawiki.doc2vec.dbow300d.model") の「jawiki.doc2vec.dbow300d.model」が https://yag-ays.github.io/project/pretrained_doc2vec_wikipedia/ から落としたのなら、当方のmacではgensim 3.8.3を入れたらエラー出ずに実行できました
jbpb0

2022/12/17 02:17

> まとめてくださいますか? ベストアンサーにします. 回答書きましたが、それでインポートできませんでしょうか?
guest

回答1

0

ベストアンサー

cmdだとpythonは3.10.5です.

python 3.10を起動して、下記を実行して、python 3.10の絶対パスを調べてください

python

1import sys 2print(sys.executable)

 
調べたpython 3.10の絶対パスを使って、ターミナルで(pythonが起動してない状態で)

terminal

1/aaa/bbb/python -m pip install mecab-python3 unidic-lite gensim

のようにしてインストールしてみてください
(実行する際は、調べた実際のpythonの絶対パスに置き換えてください)

 
インストールが成功したら、python 3.10を起動して、

python

1import MeCab 2import gensim

を実行してみてください

投稿2022/12/05 06:16

jbpb0

総合スコア7651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問