Windows 用パッケージマネージャー Chocolatey のインストールと使い方

Linux などではアプリケーションのインストールをパッケージマネージャーが使われます。 それに対し、 Windows ではインストーラーを使うのが主流でした。
しかし、 Windows でも Chocolatey が出てきました。 今回は Windows 用のパッケージマネージャーである Chocolatey について紹介します。

soft_choco_gui_pc.png

Chocolatey の利点

パッケージマネージャーというのは、 アプリケーションをインストールする際に依存するライブラリーや他のプログラムも ネットから取ってきて、 一緒にインストールしてくれるといったツールです。

インストーラーの方がインストール先や構成などを細かくカスタマイズ出来ることが多いですが、 パッケージのダウンロードとインストールをいっぺんにやってくれる分、楽です。 また、アップグレードやアンインストールといった管理もできるようになります。

Chocolatey のインストール

Chocolatey をインストールする場合、 コマンドプロンプトまたは PowerShell からインストールします。 この際、管理者として実行しておく必要があります。(右クリックのメニューから選択)

コマンドプロンプト

コマンドプロンプトの場合、以下を実行します。
  > @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

PowerShell

PowerShell 場合、実行ポリシー が "Restricted" 以外でなければ、スクリプトが起動できません。 デフォルトが Restricted なので、次のコマンドで実行ポリシーを変更しておく必要があります。 (コマンドプロンプトの方はオプションでその変更が記述されています)
  > Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
ポリシー変更後、以下のコマンドを実行します。
  > iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
PowerShell が v3 よりも古い(iwr がない)場合は次のコマンドを実行します。
  > iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Chocolatey の使い方

パッケージのインストール

Chocolatey がインストールされると以下のコマンドでパッケージのインストールできます。
  > choco install パッケージ名
なお、インストール時にはスクリプト実行許可などの問い合わせがあります。 これが面倒な場合は -y オプションを付けるとすべて Yes としてインストールします。

また "choco install" を短く書ける cinst コマンドも用意されています。
  > cinst パッケージ名

インストール以外の操作は次章で紹介する GUI 上からやった方が楽だと思います。
GUI ツールは以下のコマンドでインストールします。
> cinst -y chocolateygui

パッケージを探す

Chocolatey でインストールするためにはパッケージ名が必要となります。 どういったパッケージがあるのか、パッケージ名は何かといったことは以下のサイトで検索できます。 soft_choco_gal.png

その他のコマンド

インストール以外のコマンドも使うかなというものを紹介しておきます。 なお、-y オプションは list 以外のすべてのコマンドで使用できます。

コマンド 短縮 説明
choco list -l clist -l インストール済みのパッケージの一覧
choco upgrade パッケージ名 cup パッケージ名 パッケージのアップグレード
パッケージ名に "all" を指定するとインストール済みの全部が対象
choco uninstall パッケージ名 cuninst パッケージ名 パッケージの削除

ChocolateyGUI

ChocolateyGUI は Chocolatey を GUI から使えるようにしたフロントエンドプログラムです。
インストール後、スタートメニューから起動します。

インストール済みパッケージの管理

左の [This PC] を選択するとインストール済みのパッケージのリストが表示されます。
soft_choco_gui_pc.png

このリスト項目を右クリックし、 アンインストール、アップグレードといった操作を行います。

ChocolateyGUI からパッケージをインストール

左の [Chocolatey] を選択するとネットで公開されているパッケージのリストが表示されます。 大量にあるので、 Search で絞りこんで表示させます。
soft_choco_gui_web.png

リスト項目を右クリックし、 [Install] を選択するとパッケージのインストールが始ります。

パッケージのタイプ

GUI やサイトでパッケージを探していると InstallPortable と付いているものが見つかると思います。 その際、どのパッケージを選べばいいか説明したいと思います。


まず、パッケージには 2 つのタイプがあります。
Install
パッケージ内の .msi などのインストーラーを使ってインストールします。
インストーラーを使うといってもインストールウィザードがでるわけではなく、システムにインストールされるということです。 そのため、実行ファイルは "Program Files" といったインストーラーで指定された場所にインストールされ、 コントロールパネルのプログラムのリストに表示されます。
Portable
システムにインストールするのではなく、実行ファイルを Chocolatey で管理します。
実行ファイルは %ChocolateyInstall%\lib (C:\ProgramData\Chocolatey\lib など) におかれ、 %ChocolateyInstall%\bin に呼び出し用のファイルができます。
ほとんどのパッケージは Install タイプで、特に種別がわかれていないパッケージも Install タイプのようです。
なお、 Install タイプだからといって、アンインストール時に実行ファイルが残るということはありません。 アンインストーラーを呼び出し、ファイルの削除、システムの設定の変更を行います。 (アンインストーラーが消し切れていないということはあるかもしれませんが)


パッケージのタイプは 2 つですが、パッケージには autohotkey のように "拡張子無し"、 autohotkey.intall、 autohotkey.portable と 3 種類用意されているものがあります。
この場合 .install、 .portable はそれぞれのタイプのもので、"拡張子無し" が仮想パッケージとなります。 仮想パッケージの機構がまだ完全に実現できてないらしいので、微妙なところですが、動作的には intall タイプのようです。

また .app、 .tool、 .commandline がついているパッケージもあります。 こちらは .app が .install、 .tool と .commandline は .portable と同じ意味です。 ただし、現在は非推奨の名称となっています。


2 つのタイプを踏まえて、パッケージを選択します。 どちらをインストールするかは好みだと思いますが、個人的に感じた Portable の特徴は次のようなものなので、 コマンドラインプログラムの場合は Portable の方がいい気がします。
  • メリット : %ChocolateyInstall%\bin に置かれるので、コマンドラインで使うプログラムの場合でも環境変数 PATH に追加する必要がない (PATH の長さには制限があるっぽい)
  • デメリット : スタートメニューやデスクトップのショートカットができない
パッケージのタイプについてより詳しくは Chocolatey の FAQ を見てください。

スポンサーサイト
 

Python の Windows へのインストールと pip の使い方



今回は Python の Windows 環境におけるインストールと、 そのパッケージ管理プログラムである pip の使い方についてです。

Python Logo

Python とは

Python はスクリプト言語の中ではトップクラスでメジャーな言語です。

ただ、特徴として際立って良いと感じるところはありません。 速度と C の親和性では Lua の方が上ですし、 書きやすさやオブジェクト指向言語としての質は Ruby に劣ります。 科学技術計算の分野でも Julia や R 言語ほどの専門性はありません。
しかし、ダメな部分もほとんどなく、ハイレベルでバランスのとれた言語だと思います。 また、シェアが広いというのはそれだけで大きな利点といえます。

文法としてオフセットルールと呼ばれるインデントによるブロックを採用していて、 大きな特徴ですが賛否が分かれるところです。 個人的にはかなり「否」ですが、キライでも抑えておいた方がいいかなと思えるほどにメジャーな言語です。

Python のインストール

Python のサイトのダウンロードページからダウンロードします。 ページの先頭で最新版のリンクが 2.X 系、 3.X 系それぞれで出ています。 Python ではバージョンの 2 と 3 では違いが大きく、 ツールなどで 3 系に対応していないものなどが多く残っています。 そのため、 2 系もまだ使われており、それなりにメンテもされているようです
基本は 3 系をダウンロードすればいいのですが、 2 系が要求されるようなツールを使いたいという場合はそちらを選択します。

python_dl.png

3.X 系

3.X 系を選択すると、そのバージョンのダウンロードページになるので、その下の方にでている Windows 用のインストーラーを選択します。
自分の PC に合わせて 32 ビットか 64 ビットか、 また Web インストーラーか通常のインストーラーかを選びます。 ネットにつながらない PC に持って行ってインストールするということでもなければ、 Web かどうかはあまり気にする必要ありません。。

python_dl3.png


ダウンロードしたインストーラー(python-3.X.X[-amd64][-webinstall].exe) を実行するとインストールが始ります。

python_ints3.png

インストーラーの最初の画面で、 [Add Python to 3.X to Path] の項目にチェックを入れるとインストーラーで環境変数 PATH に追加するようにできます。 手動で設定する手間が減るため、はじめてのインストールの場合は設定した方がよいです。

インストール先を変更したり、インストール構成を変更したりする場合は [Customize install] を選択し、細かく指定していきます。 デフォルトのままでよければ、 [Install Now] を選択するとインストールが完了します。

2.X 系

2 系では次のようなダウンロードページになりますので、 そこで 32 ビットか 64 ビットの Windows 用のインストーラー(python-2.X.X.[amd64.]msi) をダウンロードします。

python_dl2.png


ダウンロードしたインストーラーを実行すれば、 Python はインストールが開始されます。

ウィザードの次のページでインストール先を変更することができます。

python_inst.png


その後、インストールするものをカスタマイズする画面が出てきます。
デフォルトではチェックが入ってませんが、ここにインストーラーで環境変数 PATH に追加するようにできます。 手動で設定する手間が減るため、はじめてのインストールの場合は設定した方がよいです。

python_ints2.png

Python の使い方

インストールが完了したら、動くか確認してみます。
Python の実行ファイルは python.exe です。

とりあえず動くことを確認するには -V (--version)オプションでバージョンが表示します。
> python -V
Python 2.7.12
また、 -h (--help) でヘルプが表示されます。
> python.exe -h

スクリプトファイルの実行

python の基本的な使い方としては、スクリプトファイルを渡して実行します。

hello.py :
   print("Hello world!");
> python.exe hellol.py 
 Hello world!

対話モード

python の後にスクリプトファイルを指定しないと対話モードで起動します。 ただ、環境によっては標準入力待ちの状態になるので、-i をつけると明示的に対話モードとなります。
> python -i
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello world!")
Hello world!
>>> quit()

pip とは

アプリケーションやライブラリーなどのインストールする際の集まりをパッケージと呼び、 Python では PyPI のサイトに登録されています。 パッケージはパッケージ管理プログラムをを使って、ネットから取得してインストールしたり、インストール済みパッケージの管理をしたりすることが出来ます。 パッケージ管理プログラムではインストールする場合にその依存ライブラリーも一緒にインストールしてくれます。

Python ではパッケージ管理プログラムの種類がいろいろあってごちゃごちゃしていたのですが、最近 pip に落ち着いたようです。
2, 3 系ともに今のバージョンでは Python と一緒にインストールされるようになっています。 インストーラーで PATH の設定をしていれば、 pip(.exe) のあるフォルダーも一緒に登録されます。

pip の使い方

pip は最初の引数をコマンドとして種々の操作を行います。取り得るオプションや引数はそのコマンドによって変わってきます。
> pip コマンド [オプション] [引数]

パッケージのインストール (install)

パッケージのインストールは install コマンドを使用します。
> pip install パッケージ名
パッケージ名でインストールするパッケージを指定します。
> pip install jupyter
パッケージは最新版がインストールされますが パッケージ名=バージョン(foo=1.2.3) とするとバージョンを指定することができます。 = だけでなく、 < > といった不等号も使えます。

パッケージのアップグレード(install -U)

パッケージのアップグレードは install コマンドで -U(--upgrade) オプションを付けて実行します。
> pip install -U パッケージ名
なお pip(.exe) 自体をアップグレードする場合、実行プログラム自体の上書きができないため、 python から pip を呼び出してアップグレードします。
> python -m pip install -U pip

その他のコマンド

その他のよく使いそうなコマンドもいくつかあげておきます。

コマンドの書式 説明
pip -h
pip コマンド名 -h pip help [コマンド名]
ヘルプの表示。
コマンド名を指定すると、そのコマンドのヘルプを表示。
pip uninstall パッケージ名 パッケージのアンインストール
pip list インストールしたパッケージのリストの表示。



 

Emacs 25.1 を使ってみた

Emacs のメジャーバージョンアップがあり、 Windows 版の IME パッチ済みバイナリーも公開されみたいなので、 Emacs を 25.1 にあげて使ってみました。
今回はリリースノートをベースに Emacs 25.1 の新機能や使ってみて気付いた点を紹介したいと思います。

なお、使用したのは Windows 版です。 Emacs 25.1 の Windows でのインストールに関しては前回使っていたのとほとんど変わってませんでした。
以前の記事を多少書き直したので、インストールに関してはそちらをご覧ください。

大きな変更

今回の目玉だと思う機能追加は 2 つです。
  • ネイティブウィジェットを埋め込める機能
  • Emacs Lisp からダイナミックライブラリーを利用可能に

ネイティブウィジェットの埋め込み

この機能がバージョン 25 での売りっぽいです。
「ウィジェット」というのは Unix 系の GUI ツールキットで GUI 部品を指す用語で、 Linux では GTK++ といったウィジェットを使えるようになります。
WebKit のウィジェットを使えば Emacs で html ページも表示できるようになるらしいです。

ただ、 Windows は未対応っぽいので、試せてないです。

Emacs Lisp からのダイナミックライブラリー利用

Windows での dll 、 Unix 系での シェアードライブラリー(so) を elisp から使えるようになる機能です。
メジャーなスクリプト言語を使っている人にはそれほど大した機能に思えないかもしれませんが、 これはかなり大きな変更です。

Emacs には数々の拡張機能がありますが、外部とのやりとりは標準入出力などによるテキストのみでした。 これは「短いプログラムをテキストのやり取りでつなげて使う」という Unix の思想によるものです。
それがライブラリーも直接使えるようになると、今後の拡張機能の広がりに期待が膨らみます。


この機能を利用すると Emacs lisp から mruby を利用するということもできるらしいです。

その他の変更

Cairo による描画の実験的サポート
Cario というのは様々なデバイスが出力対象となる描画ライブラリーです。
Xlib や Win32 のような環境別に対象を帰れれるだけでなく、 PDF, SVG, OpenGL といったものも描画対象できるライブラリーらしいです。 まだ実験段階なので何とも言えませんが、今後が楽しみな方向性だと思います。

Network Security Manager(NSM) によるネットワークセキュリティの拡張(TLS/ SSL 証明書など)
どの辺の通信が変わったのかよくわかりませんが、いいことじゃないかと。


次の 3 つは日本語を使っている人にとってはほとんど使わない機能かなと思います。

マイナーモード electric-quote-mode の追加
有効にしておくと文字列やコメント内でクオートが書きやすくなります。
  • ``
  • ''

インクリメンタルサーチ(isearch)における Charactor fold のサポート
Emacs では大文字小文字を区別しないことを Case fold と読んでいます。 Charactor fold ではさらに似た文字も検索できるようになります。
文字 "a" を表すのに "ⓐ" といった具合に Unicode ではアルファベット 1 文字に色んな種別のものが用意されています。 これが種別の区別なく検索できるようになります。

試したい場合はメニューの [Options] → [Default Search Options] から設定できます。

入力可能なユニコード文字の追加
C-x 8 で始まるキーに Unicode 文字を挿入するコマンドが割り当てられています。 例えば、 C-x 8 C で "©" といった感じです。
これの種類が増えたらしいです。

IME の変換を使えば、 "こぴーらいと" で "©" というように特殊文字の入力もできるので、 使わない機能だと思います。

リリースノートに関してもっと詳しく変更点を知りたい場合は次の記事が参考になるのではないかと思います。


リリースノート以外で使っていて気付いた点は次の 2 つです。
  • 候補表示の一時バッファーのサイズが候補数に合わせて変わるようになった
  • 置換で履歴が少し使いやすくなった
Windows の IME 関連で気付いた点です。
  • IME 入力時の文字サイズの不一致が大きくなった
  • IME 入力時にたまに落ちていたのが、なくなった



 
このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
29位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
3位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

12月 | 2017年01月 | 02月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。