ひこぽんのーと

覚書と雑記です。

Pythonの仮想環境を作ってみるのこと

今更だけど、pythonの仮想環境を作ってみる。
というのも、python3 + Djangoを試してみたいからだ。

一応、python2版のDjangoならば、
パッケージマネージャからインストールできるのだが、
バージョンが古いのでDjangoチュートリアルすら実行できない。

したがって、今回は仮想環境を作り、
仮想環境上にDjangoをインストールしてみようと思う。

仮想環境の構築

まず、virtualenvという仮想環境を構築できるツールをインストールする。

sudo apt-get install virtualenv

インストールしたらvirtualenvを使って仮想環境を作る。

virtualenv -p /usr/bin/python3 py3env

オプションで指定しているのは仮想環境で使用するPythonインタプリタのパス。
未指定の場合は、システムデフォルトのPythonインタプリタが使われる。
パラメータには作成する仮想環境のパスを指定する。
コマンドが終了すると環境の出来上がり。

仮想環境の有効化

ターミナルから作成した仮想環境に移動して、環境を有効化するコマンドを実行する。
仮想環境のbinディレクトリ配下にあるactivateファイルをsourceコマンドで読みこめば良い。

source bin/activate

コマンド実行後、
ターミナル上のユーザ名の前に仮想環境名が表示されれば成功。
ついでにPythonのバージョンを見てみる。
f:id:nagamitsu1976:20170330121243p:plain

Pythonのバージョンが3.5になっているのがわかる。
ここで仮想環境を抜けてみる。
抜けるにはdeactivateコマンドを使う。
仮想環境を抜けたあとのPythonのバージョンを見てみる。
f:id:nagamitsu1976:20170330121551p:plain

Pythonのバージョンが2.7.11でデフォルト環境が維持されているのがわかる。
というわけで仮想環境ができた。
以降、この環境を使ってDjangoを試してみる。

ちなみに仮想環境を破棄するには、ディレクトリ毎削除してしまえば良い。

追記: virtualenvのオプションについて。*1
上の例ではpythonインタプリタのパスをオプション指定していたが、
これだと含有するパッケージはほぼ空なので、
必要なパッケージをpipでインストールする必要がある。
そこで、--system-site-packagesを追加してやると、
コピー元となるシステム上のpython環境にインストールされているパッケージも
コピーしてくれる。
手間を考えるとこっちのが便利だね。

virtualenv -p /usr/bin/python3 --system-site-packages py3env

*1:pipでnotify2がインストールできなくて、結局、apt-getでpython3-notify2をインストールしてから、これで環境にコピーした。

SQuirreL SQLのこと その4

おまけ。

SQuirreL SQLSqliteを使いたい場合について。

ドライバリストにSqliteが無いからと言って使えない、というわけではないらしい。
Java製だからJDBCドライバがあれば接続できるようだ。

ついでに、以下にメモっておく。
ここのサイトが参考となった。

Accessing SQLites database using SQuirrel SQL Client

上記サイトの内容を参考に、新規ドライバを追加する。
注意点としてはWebサイトURLとして書かれているURLはリンク切れしている。
必要に応じて、SqliteなりSqlite JDBCドライバのWebページへのリンクを書いておくと良い。
ちなみにJDBCドライバは下記から取得した。

xerial / sqlite-jdbc — Bitbucket

f:id:nagamitsu1976:20170329104156p:plain

ドライバの定義後、エイリアス設定をする。
サンプルにしたがって書けばよく、
[jdbc:sqlite://]の後ろにデータベースファイルのパスを記載するだけで良い。
f:id:nagamitsu1976:20170329104416p:plain

接続するとちゃんとデータが拾える。
f:id:nagamitsu1976:20170329104459p:plain

うむうむ、問題ない。

SQuirreL SQLのこと その3

その2のつづき。

SQuirreL SQLのDB接続設定について。

ここではHSQLDBを使用しているのでその手順となる。
まずは、JDBCドライバを認識させる。
アプリ上からドライバをダウンロードする機能はない*1ので自前で用意する。
HSQLDBはインストールディレクトリのlibにドライバがあるので今回はこれを使う。

ドライバのタブを押して一覧を出し、
設定するドライバを選択する。
f:id:nagamitsu1976:20170328144342p:plain

[選択したドライバの編集]ボタンを押して編集画面を出し、
追加クラスパスのタブでドライバファイルを追加する。
f:id:nagamitsu1976:20170328144526p:plain

正しく認識されるとドライバリストにチェックマークが付く。
f:id:nagamitsu1976:20170328144655p:plain

エイリアスのタブを押し、[エイリアスの追加]から接続設定を追加する。
接続文字列についてはJDBCの記法と同じなので、いつも通り書けば良い。
f:id:nagamitsu1976:20170328145609p:plain
f:id:nagamitsu1976:20170328144906p:plain

OKボタンを押して、DB接続すると正しく情報が取得できる。
f:id:nagamitsu1976:20170328145149p:plain

SQLもこの通り。
コード補完もあるし、なかなか便利。
f:id:nagamitsu1976:20170328145235p:plain

というわけで、SQuirreL SQLについてはこれまで。

*1:ドライバ毎にドライバのWebサイトを開く機能はある

SQuirreL SQLのこと その2

その1のつづき。

SQuirreL SQLでのGUI設定やDB接続を含む設定手順のあれこれについて
以下に書いておく。

まず、GUIの変更。
このアプリ、デフォルトではフォントが小さくて自分にはとても見づらい。
幸いにしてフォントが変更できるので早速変更する。

ファイルメニューから、グローバル設定を選び、設定画面を出す。
フォントのタブに4種類のフォント設定があるので、
これらを好みのフォント、サイズに設定し直す。
f:id:nagamitsu1976:20170328131402p:plain

あと、アプリのロケール設定があるので、
合わせてこれも設定する。
f:id:nagamitsu1976:20170328142938p:plain

設定変更後、アプリを再起動すると反映される。
f:id:nagamitsu1976:20170328143104p:plain

さらに再度ファイルメニューから新規セッションプロパティを開き、
SQLエディタのフォントも変更しておく。
SQLタブの下方にフォント設定の項目がある。
f:id:nagamitsu1976:20170328143414p:plain

これで画面周りの設定は終わり。
ルックアンドフィールなども変更できるので、
こだわる場合は色々と触ってみると面白いかもしれない。

DB接続設定については、その3へつづく。

SQuirreL SQLのこと その1

最近、PyCharmでPythonばかり書いているせいか、Eclipseをとんと起動しなくなってしまった。
そのせいもあって、Javaを書く時用にIntelliJの製品版が欲しくなっている今日このごろ。
また、DBクライアントを探し始めてしまった。

以前は、DBViewerやDBeaverなどのEclipseプラグインで賄っていたけれど、
PyCharmなどでは使えないし、DB参照のためだけにEclipseを立ち上げるのも
なんだか間抜けな感じもするので、いいものはないかと考えていた。

一応、PyCharmやIntelliJと同じくJetBrains社からSQLIDEとして
DataGripという製品があるけれど、これは有料なので対象外。
使いやすそうなんだけどね。

また、PyCharmやIntelliJにもDBプラグインがあるようだが、
これはOracleMySQL, Postgresなんかが対象で、
HSQLDBでは使えなさそうなのでこれも見送った。

Linuxでも使えるDBクライアントはなかろうかと、ネットを探してみた結果、
SQuirreL SQLというアプリを見つけた。
Javaで作られていてOSの縛りもなく、基本的な機能はそろっていそう。
また、更新もまだ止まっていないようだったので、
使ってみることにした。

SQuirreL SQL Client Home Page

ここのサイトから最新版のインストーラをダウンロードして、
端末から実行する。

java -jar squirrel-sql-3.7.1-standard.jar

GUIインストーラが起動するので、
説明に従って設定していく。
このあたりは一般的なものと変わらないのでわかりやすい。
このアプリは日本語化もされているので、
インストール時にトランスレーション用のプラグインも忘れずに設定する。
起動用のショートカットも作ってくれるので、
インストール後はアプリケーションメニューから簡単に起動できる。
アンインストーラーはインストールディレクトリにコピーされているので、
削除したい時にはコマンドから実行する。

java -jar {インストールディレクトリ}/Uninstaller/uninstaller.jar

起動イメージはこんな感じ。
f:id:nagamitsu1976:20170328130440p:plain

DB接続設定についてはその2へ続く。

http記法(はてな記法)でリンクターゲットが指定できないのこと

はてな記法で記事を書いていて、
参考ページを貼り付けることがよくあるのだけれど、
本文中の参考ページは別タブないし、別窓で表したいと思っている。

けれども、http記法ではリンクターゲットが指定できないので、
うっかりアンカーを押すと本文からリンク先へ遷移してしまう。
まぁ、読み終わったあとbackで戻ればいいのだけれど、
ポリシーとしては最初に描いた通りなので、少々の不満がある。

そんなわけで、ぐぐってみたら、
対処法を作ってくれている人がいた。

markdown記法でリンクをtarget="_blank"にする - エンジニアをリングする

また、それを紹介してくれている人がいた。

はてなブログ内のリンクを新しいタブ(別窓)で開く方法 - maroom

すばらしいっですね、これで、リンクについてあまり気にする必要がなくなったよ。

UbuntuにUnity3Dをインストールするのこと

Unity3Dをインストールしてみたくて、インストール方法を調べてみた。
ubutnu-makeでインストールするのが一番簡単だったりするのだが、
これはこれで問題があって、うまくいかなかった。

umake games unity3d

手順としては、これでインストールできる。
・・・・・・はずだが、インストールできたり、できなかったりする。
また、インストールできても起動できなかったりして、
どうにもならなかった。

しかたないので、パッケージファイルを探したら、
本家Unity3Dのフォーラムでパッケージファイルがひっそりと公開されていた。
(ダウンロードページには一言も、Linux対応版の文字がないのにね)

https://forum.unity3d.com/threads/unity-on-linux-release-notes-and-known-issues.350256/

最新の記事から遡って、環境にあったパッケージファイルをダウンロードしてインストールすれば、
簡単にインストールできる。

実際、Linuxでも動かせるのに、なぜ、ダウンロードページに紹介が無いのだろう。
このフォーラムへのリンクくらいはあるとありがたいのだが。。。

ubuntu-makeを試してみて、ダメだったらバイナリからインストールがいいのかしらん。