Quantcast
Channel: いつも隣にITのお仕事
Viewing all articles
Browse latest Browse all 2077

【Windows向けPython】Anacondaでpyファイルをダブルクリックで実行できるように設定する

$
0
0
bridge

photo credit: Guido Klumpe Over the red Bridge (explored) via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

非エンジニア向けにAnacondaとPyCharmでPythonの環境づくりをする方法をお伝えしています。

前回の記事はこちらです。

PyCharmではじめてのPythonコードを作成して実行する方法
非エンジニア向けにWindowsでAnacondaとPyCharmでPythonの作業環境を作る方法をお伝えしています。今回は、PyCharmでプロジェクトを作成して実行するまでの一連の流れを確認していきます。

Python専用IDEであるPyCharmを使ってコードを作成し、実行する方法をお伝えしました。

さて、実行と言えば…pyファイルをダブルクリックして実行できるようにしたいのですが、Anacondaでインストールした場合、ちょっとひと手間必要な場合があります。

今回は、その点解説していきますよ。

ということで、Anacondaでインストールした場合にpyファイルをダブルクリックで実行できるように設定する方法です。

では、行ってみましょう!

Anacondaでは拡張子「.py」のファイルの関連付けがされない

PythonのインストールをPython公式ディストリビューションで行ったのであれば、拡張子が「.py」のpyファイルはダブルクリックで実行をすることができます。

【初心者向け】IDLEを使ってPythonプログラムを作成して実行する一連の流れ
非エンジニア一般ビジネスマン向け、はじめてのPythonプログラミングについてお伝えしています。今回は、IDLEのテキストエディタでPythonプログラムを作成して実行する一連の流れをお伝えします。

ただ、Anacondaを使ってインストールした場合は、そうはいきません。

pyファイルをダブルクリックすると…

pyファイルに関連付けられたアプリがありません

このファイルには、この操作を実行するように関連付けられたアプリがありません。

となってしまいます。

Python公式のディストリビューションにはは「py.exe」という、実行ランチャと呼ばれるアプリケーションが含まれていて、それが拡張子「.py」に関連付けられるからなんですね。

しかし、Anacondaによるインストールでは実行ランチャ「py.exe」が含まれないのです。

関連付けとは

そもそも関連付けとは何かということなのですが、拡張子「.py」とそれをダブルクリックしたときに起動するアプリケーションを関連付けするということになります。

今回、関連付けをするアプリケーションは「python.exe」となります。

ただ、この2つを直接関連付けることはできず、「ファイルタイプ」というものを仲介して関連付けをします。そのファイルタイプは、今回は「Python.File」とします。

つまり

  1. 拡張子「.py」をファイルタイプ「Python.File」に関連付けをする
  2. ファイルタイプ「Python.File」をアプリケーション「python.exe」に関連付けをする

という2段構えの手順を踏む必要があります。

Anaconda Promptでpyファイルの関連付け

ということで、pyファイルの関連付けを行っていきます。

前述の手順は、コマンドプロンプトのコマンドで実行することができるのですが、せっかくなのでAnaconda Promptを使いましょう。

ほとんど同じコマンドで同じことができるようですので。

Anaconda Promptを管理者モードで起動する

まず、Anaconda Promptを管理者モードで起動します。

Windows キーでWindowsメニューを出して「ana」などで検索すると「Anaconda Prompt」がすぐに見つかるはずです。

これを「右クリック」してください。

すると表示されるメニュー内に「管理者として実行」がありますので、これをクリックします。

Anaconda Promptを管理者モードで起動する

これで、以下のようにタイトルバーに「管理者: Anaconda Prompt」と表示されて立ち上がります。

管理者モードで起動したAnaconda Prompt

assocコマンドで拡張子とファイルタイプの関連付け

では、まず拡張子「.py」とファイルタイプ「Python.File」の関連付けをしていきます。

assocというコマンドを使います。「associate」ですかね。

assoc [.拡張子[=[ファイルタイプ]]]

まず、引数なしで以下のように入力して実行してみましょう。

assoc

assocコマンドの実行
拡張子とファイルタイプの関連付けがされているものの一覧が表示されます。

「.py」という拡張子の設定はないようですね。

では、次に引数を加えて、以下のように実行します。

assoc .py=Python.File

すると以下のように表示されます。

.py=Python.File

assocコマンドで拡張子.pyとファイルタイプを関連付けた

これで拡張子「.py」とファイルタイプ「Python.File」の関連付けが完了です。

ftypeコマンドでファイルタイプとアプリケーションの関連付け

続いて、ファイルタイプ「Python.File」とアプリケーション「python.exe」の関連付けをしていきます。

今度は、ftypeコマンドを使います。

ftype [ファイルタイプ[=[コマンド文字列]]]

まず、引数なしで以下のように入力して実行してみましょう。

ftype

ftypeコマンド

ファイルタイプとアプリケーションの関連付け一覧が表示されます。

ちょっと細かくてわかりづらいですが、「Python.File」についての関連付けはないようです。

そこで以下のようにコマンドを入力してあげます。

ftype Python.File="C:\Users\ユーザー名\Anaconda3\python.exe" "%1" %*

Python

アプリケーションのファイルパスについては、皆さんのAnaconda配下にある「python.exe」のものを指定してくださいね。ユーザー名も皆さんのものに変わるはずです。

「%1」はオープンするファイル名に置き換わるもの、「%*」はファイル名以外に引数を渡す指定です。

実行すると、以下のように表示されます。

Python.File=”C:\Users\ユーザー名\Anaconda3\python.exe” “%1” %*

ftypeコマンドでファイルタイプとアプリケーションを関連付けた

これで、拡張子「.py」にアプリケーション「python.exe」が関連付けられたはず…!

ダブルクリックで実行する

では、ダブルクリックで実行をするテストをしてみましょう。

先ほどの「hello.py」ですが、中身は以下のようなスクリプトです。

print("Hello Python!")
input()

ダブルクリックしてみると…

pyファイルをダブルクリックで実行

無事に「python.exe」が起動しました!

まとめ

以上、Anacondaでpyファイルをダブルクリックで実行できるようにする設定についてお伝えしました。

これで無事に拡張子「.py」のファイルをダブルクリックで実行することができるようになりました。

また、ちょっと面倒でしたが、おかげでAnaconda Promptとコンソールに少し慣れることができたのではないかと思います。

では、引き続きPythonで便利なツールを作っていきましょう!

どうぞお楽しみに!

連載目次:ノンプロPython~Anaconda&PyCharm環境作り

非エンジニア&Windowsユーザー向けのPython環境つくり。ゆくゆくはワンランク上のことにチャレンジしたい…!という方であれば、早めの段階で環境を作っておいてしまうという手もありますね。このシリーズでは、Anaconda&PyCharmでPythonの環境を作る手順についてシリーズでお伝えします。
  1. 【Python】非エンジニアWindowユーザー向けのAnacondaインストールの手順
  2. 【Python】Anaconda Promptとは何か、またその超基本の使い方
  3. 【非エンジニアのためPython】統合開発環境「PyCharm」のインストールと初期設定
  4. PyCharmではじめてのPythonコードを作成して実行する方法
  5. 【Windows向けPython】Anacondaでpyファイルをダブルクリックで実行できるように設定する

Viewing all articles
Browse latest Browse all 2077

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>