自分の環境ではPythonを生で入れたのではなくAnaconda経由でインストールしています。OSはWin10。
今までspyderを使っていたのですが、文字列の[text color=red]“検索→置き換え”が出来ない[/text]とかいう謎の仕様などに不満が爆発し、「ちょっとAtomに切り替えてみるか」と今回の環境構築に至りました。
ここまでが前提です。
今回小難しい解説は抜きで、メモ書き程度にAtomでPythonの開発環境構築しようとするとつまづきやすい箇所をまとめて解決。
そもそもAtomでPythonが実行できない
基本的に生でPythonを生でインストールした場合はインストーラにPathを追加するというオプションが存在するようですが、Anacondaでのインストールの場合はオプションがそもそも存在しません。多分。
(もしかしたらあったかもしれないけど、記憶にない。あれば流石にチェック入れてると思うんですよね)
かくして、僕の環境では、コマンドプロンプトに「Python」と打ち込んでももちろんPyhtonが立ち上がらない状況でした。
立ち上がらないどころか、何故か「Microsoft Store」のPyhtonの検索結果に飛ぶという謎の仕様に見舞われちょっと混乱しました(笑)
AtomでPythonが実行できない時の解決策
勿論Pathを通すと使えるようになります。
通すPathは以下。
C:[任意のインストールディレクトリ]Anaconda3
Atomパッケージ「ide-python」が上手く動かない
現象的にはこんな感じ。
.pyのファイルを開くとAtomエディタ右上にこのエラーメッセージが表示され続けます。もちろんパッケージ[ide-python]は動いていません。
Atomパッケージ「ide-python」が上手く動かない問題の解決策
解決の前提
まず、前述したAtomでPythonが実行できない時の解決策のPathがきっちり通っている前提です。
ide-python動かすまでの手順①
「python-lanfuage-serverをインストールしろ」と言われています。
ご丁寧にコマンド書いてくれているのですが、これコピペしてコマンドプロンプトに入れても通りません。
# これでは通らない↓ python -m pip install 'python-language-server[all]' # こうすると通る python -m pip install "python-language-server[all]"
Windowsのコマンドプロンプトの話ですね。
ide-python動かすまでの手順②
上記操作が上手くいっていればこの時点で画像の警告は消えます。
それでもまだエディタ上変化がなく、動いてるのか分からない感じです。
上記の手順①のタイミングでこんな警告が表示されていたら要注意です。
「pyls.exeがインストールされてるけど、Path通ってませんで」って警告のようです。
ってことで、Pathを通します。
C:[任意のインストールディレクトリ]Anaconda3Scripts
ide-python動かすまでの手順③
ここまでやってもエディタ上で何も変化がない場合、以下の二つのコマンドで解決します。
apm install atom-ide-ui apm install ide-python
Atomパッケージを直接コマンドプロンプトからインストールする方法で、そのまま入力すればOKです。
最終的にこんな感じでうっとおしいくらい下線引かれまくって、注意されまくるようになります。
Atomパッケージ「script」で日本語が文字化けする
Atomのパッケージに「script」という、コードを簡易実行して、コンソールに表示するものが存在します。
print('こんにちは') print('hello world')
上記コードを実行してみたところ、
英語での表示はうまくいきますが、日本語が思いっきり文字化けします。
Atomパッケージ「script」の文字化けの解決策
「file」 → 「init script」 を開く
最下行に以下の一行を追加
process.env.PYTHONIOENCODING = "utf-8";
治った。
絶対に存在するモジュールのインポートに失敗する
Pythonを生インストールしていない環境で起こりがちの問題です。
AnacondaでPythonをインストールしている場合に起こりがちと言い換えてもいいかもしれません。
spyder経由でモジュールインポート時には問題なく通るのに、Atom上のscriptからコード実行してモジュールをインポートしようとすると、
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
となり、インポートに失敗します。
ちなみにAnacondaのbaseを経由しないインポートはAtomに限らず全て失敗します。
ですので、コマンドプロンプトやShellでPythonを起動して対話式でインポートを試みた場合も同じくImportErrorが発生します。
Anaconda Promptからインポートを試みた場合は問題なく通る点から、Pathの問題であることは明白です。
Atom上からモジュールのインポートに失敗する問題の解決策
単純にWindowsのシステム環境変数にPathを通すと解決します。
と、言っても、[text type=marker color=blue]モジュールの格納先ディレクトリをPathに通しても解決しません[/text]。
Pathを通す場所は以下。
C:[任意のインストールディレクトリ]Anaconda3Librarybin
mkl~.dll というファイル群が必要なようです。
コメント