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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

2回答

1531閲覧

vimエディタ上でPython3プログラム開発をしたいがPython2だけが有効化されのを解消したい。

chesscommands

総合スコア26

Python 2.7

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

0クリップ

投稿2021/09/14 03:15

VimエディタにてPython3開発環境を整えたい

Python3の勉強をするためにvimエディタを使っていたが、あるときからエラーが発生し、勉強ができなくなった。

発生している問題・エラーメッセージ

error invalid syntax

該当のソースコード

python3

1hoge1 = 'hello World.' 2print(hoge1, sep='+')

ここのsep='+'のイコール部分にエラーが発生している。
Python2として認識されていると思われる。

試したこと

vimのバージョン
Vi Improved 8.2
+python/dyn
+python3/dyn
が出力される。

echo has('python3')では、1が出力される。

echo has('python')では、0が出力される。

vim

1E837: このVimでは :python を使った後に :py3 を使えません 2E263: このコマンドは無効です、ごめんなさい: Pythonライブラリをロードできませんでした。

vimrc
let g:python3_host_prog = '/Users/chesscommands/.pyenv/shims/python'
を記載するが、効果なし。

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

.vimrc及び**.gvimrc**を読み込まなければ、動かせるように思う。
:py3での実行も認識はした。
しかし、結局シンタックスエラーになる。

vimrc

1call minpac#add('prabirshrestha/async.vim') 2call minpac#add('prabirshrestha/vim-lsp') 3call minpac#add('mattn/vim-lsp-settings')

を導入しているのが原因かもしれないが、これが無ければ実行環境として成立しないと思っているため、プラグインは入れたままで解消したい。

以上。

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

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

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

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

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

guest

回答2

0

自己解決

peacock0803szさんの助言に従い、pyenvをやめ、普通にbrew install python3を行った。
その後、vimエディタに導入しているプラグインのLSPを更新した。
:LspInstallServer
そうしたことで、vimエディタがpython3プログラムファイルを認識し、普通に実行することが出来た。

対応して頂きありがとうございました。

投稿2021/09/15 16:58

chesscommands

総合スコア26

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

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

0

$HOME/.pyenv/shims/pythonがpython2を指しているのではないでしょうか?
pyenv versionsの実行結果はどうなりますでしょうか。

投稿2021/09/14 04:12

peacock0803sz

総合スコア10

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

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

chesscommands

2021/09/14 05:48

どちらもPython3を指していました。 ```terminal $ echo $HOME/.pyenv/shims/python /Users/chesscommands/.pyenv/shims/python $ /Users/chesscommands/.pyenv/shims/python --version Python 3.9.7 $ pyenv versions system 3.8.6 * 3.9.7 (set by /Users/chesscommands/.python-version) $ python --version Python 3.9.7 $ ``` vimrcでPython2を指定していると思っていましたが、それらしき記述はありませんでした。 プラグインでしょうね・・・。 以上。
peacock0803sz

2021/09/14 06:37

手元にpyenv環境がないので確かなことは言えませんが、`let g:python3_host_prog = '/Users/chesscommands/.pyenv/shims/python3'`とするとうまくいきますでしょうか? (本題から逸れますが)PATH関係がごちゃごちゃしているので、正直pyenvはあまりオススメできないです。 私は公式インストーラを使いますが、3系であればいいのであればHomebrewもありです https://www.python.jp/install/macos/index.html
chesscommands

2021/09/15 15:49

pyenv非推奨とのことで、"brew install python3"にて、最新版をインストールしました。 しかし、VimエディタでPythonプログラムを開いた時にエラーが発生しました。 bashrcなどからpython関係のエイリアスを削除しているため、pyenvがアンインストールされた証拠ではあるのですが、エラーが解消できずにいます。 ```err VimEnter Autocommands for "*"..function lsp#enable[20]..<SNR>137_register_events[17]..<SNR>137_on_text_document_did_open[12]..<SNR>137_ensure_flush[1]..lsp#utils#step#start[1]..<SNR>189_next[9]..<lambda>54[1]..<SNR>137_ensure_start[58]..<SNR>189_callback[1]..<SNR>189_next[9]..<lambda>55[1]..<SNR>137_ensure_init[53]..<SNR>137_send_request[7]..lsp#client#send_request[1]..<SNR>188_lsp_send[36]..lsp#utils#job#send[2]..<SNR>190_job_send の処理中にエラーが検出されました: 行 18: E631: ch_sendraw(): 書き込みに失敗しました ``` python --version Python 2.7.16 python3 --version Python 3.9.7 以上です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問