tag:blogger.com,1999:blog-49514617539032336822024-02-08T22:50:10.289+09:00快楽プログラマUnknownnoreply@blogger.comBlogger3125tag:blogger.com,1999:blog-4951461753903233682.post-41177923987902020732012-01-12T16:10:00.000+09:002012-01-12T16:10:39.942+09:00[Windows] Pythonの関連付け設定今までPython2系を使っていたのですが、そろそろPython3系の勉強もはじめたいので、Windows環境にPython3をインストールしようと思います。でも、メインの開発環境はPython2のままにしておきたいです。Python3をインストールするとPythonファイルの関連付けなどが上書きされてしまうようですが…。<br />
<br />
<div style="text-align: center;">
* * *</div>
<br />
<b>Pythonの関連付け設定を確認・変更したいです。</b><br />
<br />
古いプロジェクトのメンテナンスのためだったり、必要なライブラリが特定のバージョンに依存していたり、新しいバージョンで動作確認をしてみたかったり。さまざまな理由で複数バージョンのPythonをインストールしなければならない場面があります。<br />
<br />
Linuxならば<a href="http://pypi.python.org/pypi/virtualenv">virtualenv</a>や<a href="https://github.com/utahta/pythonbrew">pythonbrew</a>などを使って、複数バージョンのPythonを使い分けることもできるのですが、WindowsではPythonをインストールするたびにPATHや関連付けが上書きされてしまいます。結局、最後にインストールしたものが有効になっているため、複数バージョンを使い分けるのはとても難しい状態になっています。<br />
<br />
せめて、普段使うバージョンのものをPATHや関連付けに設定しておいて、他のバージョンを使うときはバッチファイルなどで対処できるようにしたいです。<br />
<br />
PATHの設定は環境変数を編集すればいいと分かりますが、関連付けの設定はどこでやればいいのでしょう。<br />
<br />
解:<br />
<br />
<b>ftypeコマンドでPython.CompiledFile、Python.File、Python.NoConFileの関連付けを確認・変更しましょう。</b><br />
<br />
Pythonの関連付けとして、以下の3つのファイルタイプが登録されています。<br />
<br />
<br />
<ul>
<li>Python.CompiledFile</li>
<li>Python.File</li>
<li>Python.NoConFile</li>
</ul>
<br />
<br />
assocコマンドの出力を見ると分かるのですが、上記のファイルタイプはそれぞれ、以下の拡張子に関連付けられています。<br />
<br />
<blockquote class="tr_bq">
D:\>assoc .py<br />
.py=Python.File
<br />
<br />
D:\>assoc .pyo<br />
.pyo=Python.CompiledFile
<br />
<br />
D:\>assoc .pyw<br />
.pyw=Python.NoConFile</blockquote>
<br />
手元の環境では以下のように設定されていました。<br />
<br />
<blockquote class="tr_bq">
D:\>ftype Python.CompiledFile<br />
Python.CompiledFile="D:\Python26\python.exe" "%1" %*<br />
<br />
D:\>ftype Python.File<br />
Python.File="D:\Python26\python.exe" "%1" %*<br />
<br />
D:\>ftype Python.NoConFile<br />
Python.NoConFile="D:\Python26\pythonw.exe" "%1" %*</blockquote>
<br />
.pyと.pyoはコンソール付きで実行、.pywはコンソール無しで実行する設定になっています。どちらもPython2.6が設定されています。この値を変更することで、Pythonの関連付けを好きなように設定することができます。.pyファイルの関連付けをIDLEで開くようにしたい場合は、関連付けたいバージョンのidle.batに関連付けましょう。<br />
<br />
<div style="text-align: center;">
* * *</div>
<br />
Windowsの<a href="http://lowtechhightech.blogspot.com/2012/01/windows-dos_10.html">関連付けはDOSプロンプトで設定</a>するのが、分かりやすくてよいと思います。<br />
<br />
環境:<br />
<br />
Windows 7<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4951461753903233682.post-6838580284091737992012-01-10T17:42:00.000+09:002012-01-10T18:35:26.293+09:00[Windows] 拡張子の関連付けをDOS窓で確認・変更するインストールとアンインストールを繰り返すうちに混乱してくる、拡張子の関連付け。今はどのアプリケーションに設定されているのかちょっと確認したいだけなのだけど、関連付けの設定画面をどうやって出すのか分からなくなってしまいました…。<br />
<br />
<div style="text-align: center;">
* * *</div>
<br />
<b>拡張子の関連付けをDOSプロンプトで確認・変更したいです。</b><br />
<br />
Windowsでファイルをダブルクリックすると関連付けされたアプリケーションで開くことができます。とても便利な機能ですが、アプリケーションのインストールやアンインストールを繰り返すうちに、関連付けが上書きされてしまって、想定していたのとは違うアプリで開かれることもあります。<br />
<br />
思わぬアプリに関連付けられていると、それがセキュリティホールになる場合もあるので、とりあえず関連付け設定の確認だけでもしたいのに、その設定画面にたどり着けない…なんてことも、よくある話です。<br />
<br />
Windowsのバージョンによっても設定画面の出し方が変わったりしますので、DOSプロンプトで確認してしまったほうが、早いかもしれません。<br />
<br />
解:<br />
<br />
<b>assocコマンドとftypeコマンドで拡張子の関連付けを確認・変更することができます。</b><br />
<br />
Windowsの関連付けは以下のように、2段階で評価されます。<br />
<br />
{拡張子} => {ファイルタイプ} => {アプリケーション}<br />
<br />
最初の {拡張子} => {ファイルタイプ} の関連付けを確認・変更するコマンドがassocです。<br />
{ファイルタイプ} => {アプリケーション} の関連付けを確認・変更するコマンドがftypeです。<br />
<br />
例:<br />
<blockquote class="tr_bq">
D:\>assoc .py<br />
.py=Python.File
<br />
<br />
D:\>ftype Python.File<br />
Python.File="D:\Python26\python.exe" "%1" %*</blockquote>
<br />
<div style="text-align: center;">
* * *</div>
<br />
assocコマンドやftypeコマンドの<a href="http://lowtechhightech.blogspot.com/2012/01/windows-dos.html">出力が長すぎて表示できないとき</a>は、パイプとmoreコマンドを使いましょう。各コマンドについてもっと詳しい説明が知りたければ、helpコマンドを使うとよいでしょう。<br />
<br />
環境:<br />
<br />
Windows 7<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4951461753903233682.post-63389510978139174762012-01-06T22:11:00.000+09:002012-01-06T22:11:37.257+09:00[Windows] DOS窓で大量の出力があるときDOSプロンプトも、使いこなせば便利な場面がたくさんあります。<br />
<br />
<div style="text-align: center;">
* * *</div>
<br />
<b>DOS窓で環境変数や大きいファイルの中身を表示するとき、スクロールできないほど長くて、見たいところが見えません。</b><br />
<br />
Windows 7の時代になっても、ちょっとした設定などでDOS窓を使う場面がまだまだあります。Linuxのシェルと同じように使えることも多いのですが、コマンドの出力が大量にあったり、大きいファイルの中身を表示したりするときに、DOS窓のスクロール上限を超えてしまって、見たいところが見えないことがあります。grepが使えれば見たいところだけを見ることができるのですが、DOSコマンドにはgrepもありません。<br />
<br />
解:<br />
<br />
<b>パイプとmoreコマンドを使いましょう。</b><br />
<br />
例:<br />
<br />
環境変数の一覧表示を、1ページずつ見ます。<br />
<br />
<blockquote class="tr_bq">
> set | more</blockquote>
<br />
<div style="text-align: center;">
* * *</div>
<br />
Linuxのシェルと同じように、コマンドの結果をパイプで他のコマンドに渡すことができます。ページャであるmoreコマンドも使えます。<br />
<br />
環境:<br />
<br />
Windows 7<br />
<br />Unknownnoreply@blogger.com0