だらだらと書く。
Postgresql 10 をインストールして、ビルドパスを設定して pgAdmin4 で操作するのが楽かと思う。
PostgreSQLのインストール~使い方の説明は https://www.dbonline.jp/postgresql/ を読めだぜ。
ビルドパス
多分、
C:\Program Files\PostgreSQL\10\bin
の中に実行したいものはあるだろ。これにパスを通そう。
[Windows] + [Break/Pause] キーをクリックして システム画面を出し、
[システムの詳細設定] メニューをクリックしろだぜ。
「システムのプロパティ」ダイアログボックスが出てきたら、
[詳細設定]タブの [環境変数(N)...]ボタンをクリックしろだぜ。
「システム環境変数」の方の Path に、
C:\Program Files\PostgreSQL\10\bin
を追加しろだぜ。
テキストボックスの中を「;」で区切るやつだったり、
リストで入れるやつだったり
お前のPCの見た目がどうなってるかは知らないが なんとかしろだぜ。
ログイン
[Windows] - [R]キーから 「cmd」打鍵[Enter]キーで コマンド・プロンプトを起動。
### 打鍵
psql --version
### 結果
psql (PostgreSQL) 10.5
バージョン番号を確認して ビルドパスが通っていることを確認。
インストール時に入れた PostgreSQL のパスワードを入れても
入れないな、と思ったら
postgres ユーザーのパスワードなのだった。
psql -U postgres
と打鍵して パスワードを入れてなんとか入る。
やることもないので
\q
と打鍵して psql を終わる。
pgAdmin4
postgreSQL 10 と一緒にインストールした pgAdmin4 が全く動かないので
別途 インストールすることにする。
そして pgAdmin4 を起動しようとすると、スプラッシュ画面が出たあと消えて、なにも出てこない。
「【PostgreSQL】WindowsにPostgreSQLをインストール」
http://www.yume-map.net/?p=6917
マイクロソフト アカウント にログインしていると、ユーザー名が マルチバイト文字(日本語)になったりして
一部のアプリケーションでエラーの原因になるらしい。
とりあえず マイクロソフトからサインアウト。
pgAdmin4 起動失敗
Fatal Error
An error occurred initialising the application
server:
Failed to launch the application server, server
thread exiting.
をググりたいので1行にする。
Fatal Error An error occurred initialising the application server: Failed to launch the application server, server thread exiting.
「WindowsでもpgAdmin4でサーバーモードしたい!」
https://qiita.com/rzl5/items/ddb419dd3897a1224661
なんの説明もないが、pgAdmin4 は python2.7 系なのだろうか?
しぶしぶ python 2.7系 もインストールしてみる。
ところで 自分のPCの CPU が何かを知っている人とか どこで知ったのだろうか。
Windows x86-64bit とか。 今時 x86-64 だと思うが、 x86-32 と x86-64 の違いとか どこで知るのだろうか。
とりあえず Python を
C:\Python27
にインストール。
pgAdmin4.py のファイルは 私の場合、
C:\Program Files\PostgreSQL\10\pgAdmin 4\web
の下にあるので、エラーのあとに出てくるダイアログボックスのテキストボックスに このパスを入れる。
ブラウザのパスには
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
を入れてみる。 それでも ダメ。
もうひとつ工夫して
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe %URL%
と書くも、それでも ダメ。
さらに Python のパスを ; で区切って
C:\Python27;C:\Program Files\PostgreSQL\10\pgAdmin 4\web
と工夫するも、それでも ダメ。
「待望のpgAdmin4ベータ版が出たので、Windowsのポータブルアプリ化(管理者権限なく使える)」
https://kenpg.bitbucket.io/blog/201606/11.html
msvcp120.dllとmsvcr120.dllが必要
と書いてあるが インストーラーからは何の説明もない。
msvcp120.dll は Microsoft のサイトからインストールする。
ダウンロードしたファイルを実行すると msvcp120.dll のインストールが完了するはず。
というか、
C:\Windows\System32\msvcp120.dll
C:\Windows\System32\msvcr120.dll
Windows10 に最初から すでに入っている。
Python を使うために設定するパスは 次の2つらしい。
set venv=%~dp0venv\
set pythonpath=%venv%Lib\site-packages;%venv%Lib;%venv%Lib\lib-tk;%venv%DLLs
venv は Python の環境とのこと。 これも何の説明もない。
じゃあ わたしは [Windows] - [Break/Pause] からたどって環境変数ダイアログボックスを出して
システム環境変数名 | 値 |
---|---|
pythonpath | C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\Lib\lib-tk;C:\Python27\DLLs |
と設定してみる。
それでも ダメ。
pgAdmin4 は 32bit だから、 python も 32bit 用にしないとダメと記事に書いてるな。
なぜ 64bit を用意しないのか謎だが仕方ない。 32bit の python2.7 系を入れてみる。
インストール ディレクトリ名は
C:\Python27(32bit)\
に変更し、設定を全部書き換える。
C:\Python27(32bit);C:\Python27(32bit)\Lib\site-packages;C:\Python27(32bit)\Lib;C:\Python27(32bit)\Lib\lib-tk;C:\Python27(32bit)\DLLs;C:\Program Files\PostgreSQL\10\pgAdmin 4\web
それでも ダメ。
PC を再起動しても ダメ。
インストール失敗。
4時間ぐらい いじってみたが 起動しないので ここまで。
PostgreSQL が 64bit で、 pgAdmin4 が 32 bit
なのが いけないのかもしれない。
PostgreSQL から pgAdmin4 をアンインストールする。
python2.7系の 64bit 版もアンインストールする。
localhost:5050
記事を参考に .bat ファイルを作ったり ブラウザでアクセスしたりするが、
「このサイトにアクセスできません」 と出るだけで pgAdmin4 の画面のようなものは出てこない。
わたしの環境の場合、以下のような .bat ファイルを作る。
cd /d "C:\Program Files (x86)\pgAdmin 4\v3\venv"
powershell -WindowStyle Hidden -command ".\python ../web/pgAdmin4.py"
.bat ファイルをダブルクリックして 30秒待って ブラウザでアクセスしても
「このサイトにアクセスできません」 と出るだけ。
とりあえず pgAdmin4 と Postgresql と python を アンインストールする。
作った環境変数も 消しておく。
PostgreSQL を 32bit版にしたらどうか?
と突っ込まれたので やるにはやるが、 なんで GUI に合わせて アプリケーションを 32bit版に
ダウングレードしなければならないのか……。
あと 2020年頃には 32bit アプリケーションは OSから サポート切れを起こされて 滅亡の流れに行くと思う。
なんで 滅亡する方に 合わせなければならないのか……。
システム環境変数 Path を
C:\Program Files (x86)\PostgreSQL\10\bin
に変えて、コマンド プロンプトを再起動。
pgAdmin4 を起動すると 同じエラー。
32bit版の Python2.7 を入れなおす。
ディレクトリは C:\Python27(x86)\
。
set venv=C:\Python27(x86)
set pythonpath=%venv%Lib\site-packages;%venv%Lib;%venv%Lib\lib-tk;%venv%DLLs
Configuration ダイアログボックスに値を設定する。
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe %URL%
それでもダメ。 また2時間無駄にした。
記事の情報の出どころは 以下のサイトらしい。
「pgAdmin4ベータ版をWindowsで動かす(ブラウザモード編)」
https://kenpg.bitbucket.io/blog/201606/12.html
cd /d "C:/Program Files (x86)/pgAdmin 4/v3/venv"
powershell -WindowStyle Hidden -command "./python C:/Program Files (x86)/PostgreSQL/10/pgAdmin 4/web/pgAdmin4.py"
スラッシュの向きを変えたり、ディレクトリ変えたりするも それでも ダメ。
記事を書いている人が PowerShell を起動したり、何がやりたいのかわからない。
自分で書き直す。
C:\Users\むずでょ>cd C:\Python27(x86)
C:\Python27(x86)>python "C:/Program Files (x86)/PostgreSQL/10/pgAdmin 4/web/pgAdmin4.py"
Traceback (most recent call last):
File "C:/Program Files (x86)/PostgreSQL/10/pgAdmin 4/web/pgAdmin4.py", line 34, in <module>
import config
File "C:\Program Files (x86)\PostgreSQL\10\pgAdmin 4\web\config.py", line 29, in <module>
from pgadmin.utils import env, IS_PY2, IS_WIN, fs_short_path
File "C:\Program Files (x86)\PostgreSQL\10\pgAdmin 4\web\pgadmin\__init__.py", line 18, in <module>
from flask import Flask, abort, request, current_app, session, url_for
ImportError: No module named flask
C:\Python27(x86)>
エラーメッセージを見ても分からん。
pgAdmin4.py import config from flask import Flask, abort, request, current_app, session, url_for ImportError: No module named flask
適当に1行にして ググる。
分からん。
分からん。
python 2.7 も覚えたくないし、 Postgresql を使うのは止める。
3回目。
わけわからん記事は読まないようにし、公式のを読む。
64bit 版の Postgresql をインストール。
この際、pgAdmin4 はチェックボックスを外す。
Windows版の Apache 2.4 系を入れる。
https://httpd.apache.org/download.cgi
「Windows版Apacheをインストールする」
http://d.hatena.ne.jp/Kazuhira/20170128/1485621099
アパッチのインストールから起動は記事にした。
https://qiita.com/muzudho1/items/b6065566f5ef97359788
そして説明が無いんだが、Windows版は Python のバージョンに制限があるのかもしれない。
Python は 2.7系 32bit を入れることにする。
pgAdmin4 は 32bit しかないんで それを入れる。
設定ファイルを設定しないと 動かないのに、Launch pgAdmin4 とかミスリードするのはやめてほしい。
主語や場所が抜けるのは 日本人も外国人も同じようだが
わたしの場合、以下のディレクトリに
C:\Program Files (x86)\pgAdmin 4\v3\web
設定ファイルなどが入っている。ここに、
config_local.py
LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'
といったファイルを作成して置くことにする。 Linux のディレクトリになっているが
Windows で置くとどうなるのか。
次にインストールしたばかりの python (command line)
を起動。
import os
os.getcwd()
### 出力
'C:\\Python27'
と打鍵。カレントディレクトリを調べる。以下で移動。
os.chdir("C:\\Program Files (x86)\\pgAdmin 4\\v3\\web")
os.getcwd()
### 出力
'C:\\Program Files (x86)\\pgAdmin 4\\v3\\web'
次にセットアップを実行。
>>> python setup.py
File "<stdin>", line 1
python setup.py
^
SyntaxError: invalid syntax
「Pytohn(3.5.1)の初歩的な構文エラーについて」
https://teratail.com/questions/28475
コマンド プロンプトでやってみる。
C:\Users\むずでょ>cd C:\\Program Files (x86)\\pgAdmin 4\\v3\\web
C:\Program Files (x86)\pgAdmin 4\v3\web>python setup.py
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
ビルドパスを通せばいいのか。
venv | C:\Python27| |
pythonpath | %venv%Lib\site-packages;%venv%Lib;%venv%Lib\lib-tk;%venv%DLLs |
Path | 「%pythonpath%」を末尾に追加。 |
C:\Program Files (x86)\pgAdmin 4\v3\web>C:\Program Files (x86)\pgAdmin 4\v3\web>python setup.py
アクセスが拒否されました。
コマンドプロンプトを管理者で実行することにする。
C:\Windows\system32>cd C:\\Program Files (x86)\\pgAdmin 4\\v3\\web
C:\Program Files (x86)\pgAdmin 4\v3\web>python setup.py
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
Path に直接 C:\Python27\ を追加する。
C:\Program Files (x86)\pgAdmin 4\v3\web>python setup.py
Traceback (most recent call last):
File "setup.py", line 15, in <module>
from pgadmin.model import db, Version, SCHEMA_VERSION as CURRENT_SCHEMA_VERSION
File "C:\Program Files (x86)\pgAdmin 4\v3\web\pgadmin\__init__.py", line 18, in <module>
from flask import Flask, abort, request, current_app, session, url_for
ImportError: No module named flask
なんのこっちゃ。
python setup.py pgadmin.model import db, Version, SCHEMA_VERSION as CURRENT_SCHEMA_VERSION from flask import Flask, abort, request, current_app, session, url_for ImportError: No module named flask
1行にしてググる。
「pipの使い方とインストール」
https://www.python-izm.com/tips/pip/
C:\Program Files (x86)\pgAdmin 4\v3\web>python -m pip -V
pip 9.0.3 from C:\Python27\Lib\site-packages (python 2.7)
勝手にコマンドを作る。
pip install pgadmin4-3.2-py2.py3-none-any.whl
C:\Program Files (x86)\pgAdmin 4\v3\web>pip
'pip' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
C:\Python27\Scripts
にもパスを通す。
C:\Program Files (x86)\pgAdmin 4\v3\web>pip install pgadmin4-3.2-py2.py3-none-any.whl
Requirement 'pgadmin4-3.2-py2.py3-none-any.whl' looks like a filename, but the file does not exist
Processing c:\program files (x86)\pgadmin 4\v3\web\pgadmin4-3.2-py2.py3-none-any.whl
Exception:
Traceback (most recent call last):
File "C:\Python27\Lib\site-packages\pip\basecommand.py", line 215, in main
status = self.run(options, args)
File "C:\Python27\Lib\site-packages\pip\commands\install.py", line 324, in run
requirement_set.prepare_files(finder)
File "C:\Python27\Lib\site-packages\pip\req\req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "C:\Python27\Lib\site-packages\pip\req\req_set.py", line 620, in _prepare_file
session=self.session, hashes=hashes)
File "C:\Python27\Lib\site-packages\pip\download.py", line 809, in unpack_url
unpack_file_url(link, location, download_dir, hashes=hashes)
File "C:\Python27\Lib\site-packages\pip\download.py", line 715, in unpack_file_url
unpack_file(from_path, location, content_type, link)
File "C:\Python27\Lib\site-packages\pip\utils\__init__.py", line 599, in unpack_file
flatten=not filename.endswith('.whl')
File "C:\Python27\Lib\site-packages\pip\utils\__init__.py", line 482, in unzip_file
zipfp = open(filename, 'rb')
IOError: [Errno 2] No such file or directory: 'C:\\Program Files (x86)\\pgAdmin 4\\v3\\web\\pgadmin4-3.2-py2.py3-none-any.whl'
You are using pip version 9.0.3, however version 18.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
python -m pip install --upgrade pip
C:\Program Files (x86)\pgAdmin 4\v3\web>python -m pip install --upgrade pip
Collecting pip
Exception:
Traceback (most recent call last):
File "C:\Python27\Lib\site-packages\pip\basecommand.py", line 215, in main
status = self.run(options, args)
File "C:\Python27\Lib\site-packages\pip\commands\install.py", line 324, in run
requirement_set.prepare_files(finder)
File "C:\Python27\Lib\site-packages\pip\req\req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "C:\Python27\Lib\site-packages\pip\req\req_set.py", line 620, in _prepare_file
session=self.session, hashes=hashes)
File "C:\Python27\Lib\site-packages\pip\download.py", line 821, in unpack_url
hashes=hashes
File "C:\Python27\Lib\site-packages\pip\download.py", line 659, in unpack_http_url
hashes)
File "C:\Python27\Lib\site-packages\pip\download.py", line 880, in _download_http_url
file_path = os.path.join(temp_dir, filename)
File "C:\Python27\Lib\ntpath.py", line 85, in join
result_path = result_path + p_path
UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 7: ordinal not in range(128)
You are using pip version 9.0.3, however version 18.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.