4 安装pgAdmin4
4.1 pip安装-成功实践
参考资料来自:https://blog.csdn.net/sinat_36528886/article/details/134979208
- 创建虚拟环境 > 会在当前目录新建一个venv目录
python3.8 -m venv venv
- 激活虚拟环境
source venv/bin/activate
- 安装pgadmin4
pip install pgadmin4
- 修改
config.py
进入venv/lib/python3.8/site-packages/pgadmin4/config.py
,将DEFAULT_SERVER
改为0.0.0.0
# DEFAULT_SERVER = '127.0.0.1'
DEFAULT_SERVER = '0.0.0.0'
- 启动pgadmin4
venv的安装路径为
~/Books/phd
screen -S pgadmin
source venv/bin/activate
pgadmin4
- 关掉terminal,新建terminal
4.2 github安装
复杂且失败了,只留作痕迹。
4.3 安装NodeJS 16+
二进制文件安装方法 参考: https://github.com/nodejs/help/wiki/Installation#how-to-install-nodejs-via-binary-archive-on-linux
- 官网下载二进制文件
wget https://nodejs.org/download/release/v17.9.1/node-v17.9.1-linux-x64.tar.xz # 系统版本的GLIBC版本最高只能支持v17.9.1
- 解压至安装文件夹
/usr/local/lib/nodejs
VERSION=v17.9.1
DISTRO=linux-x64
sudo mkdir -p /usr/local/lib/nodejs
sudo tar -xJvf node-$VERSION-$DISTRO.tar.xz -C /usr/local/lib/nodejs
- 设置环境变量至
~/.profile
文件
我的系统是
~/.bash_profile
文件,将下列代码放在~/.bash_profile
文件的后面
# Nodejs
VERSION=v17.9.1
DISTRO=linux-x64
export PATH=/usr/local/lib/nodejs/node-$VERSION-$DISTRO/bin:$PATH
- 使环境变量起效
. ~/.bash_profile
# 在非ubuntu用户时,使用绝对路径
. /home/ubuntu/.bash_profile
- 查看环境变量
echo $PATH
- 测试是否安装成功
node -v
npm version
npx -v
4.4 安装yarn
npm install yarn --location=global
安装时会报没有权限写入,把/usr/local/lib/nodejs
的权限改为root,可写入。
4.5 安装pgadmin4
4.5.1 安装运行环境
- 安装依赖项
cd pgadmin4/runtime
yarn install
- 配置开发环境 > 先复制文件
cp dev_config.json.in dev_config.json
dev_config.json
的内容如下:
{
"pythonPath": "C:/Python38/python.exe",
"pgadminFile": "../web/pgAdmin4.py"
}
设置python执行文件的路径及pgAdmin4.py
文件的路径:通过which python3.8
查看路径。pgAdmin4.py
的路径不用动。
{
"pythonPath": "/home/hulihuihong/Books/phd/venv/bin/python",
"pgadminFile": "../web/pgAdmin4.py"
}
4.5.2 安装python虚拟环境
- 新建虚拟环境
python3.8 -m venv venv
- 激活虚拟环境
source venv/bin/activate
- 更新pip
pip install --upgrade pip
- 安装虚拟环境依赖项 > 通过
which psql
查看psql的执行路径
PATH=$PATH:/usr/bin/psql pip install -r pgadmin4/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- 安装回归测试的依赖项(可选)
pip install -r pgadmin4/web/regression/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- 生成并添加设置
cp pgadmin4/web/config.py pgadmin4/web/config_local.py
config_local.py
文件的内容为:
from config import *
# Debug mode
= True
DEBUG
# App mode
= True
SERVER_MODE
# Enable the test module
'test')
MODULE_BLACKLIST.remove(
# Log
= DEBUG
CONSOLE_LOG_LEVEL = DEBUG
FILE_LOG_LEVEL
# DEFAULT_SERVER = '127.0.0.1'
= '0.0.0.0' # 服务器端,故使用'0.0.0.0'
DEFAULT_SERVER
= True
UPGRADE_CHECK_ENABLED
# Use a different config DB for each server mode.
if SERVER_MODE == False:
= os.path.join(
SQLITE_PATH
DATA_DIR,'pgadmin4-desktop.db'
)else:
= os.path.join(
SQLITE_PATH
DATA_DIR,'pgadmin4-server.db'
)
- 初始设置pgAdmin的配置数据库 > 设置初始账号(邮箱和密码)
python3.8 pgadmin4/web/setup.py setup-db
报错:
home/hulihuihong/Books/phd/pgadmin4/web/pgadmin/utils/paths.py:129 in init_app │
│ │
│ 126 │ │
│ 127 │ if storage_dir and not os.access(storage_dir, os.W_OK | os.R_OK): │
│ 128 │ │
│ ❱ 129 │ │ raise InternalServerError( │
│ 130 │ │ │ 'The user does not have permission to read and write to the ' │
│ 131 │ │ │ 'specified storage directory.' │
│ 132 │ │ )
解决:找到paths.py
文件,加上print(storage_dir)
,打印出来为/var/lib/pgadmin/storage
,将其权限改为可写后,再次执行。
- 启动
记得把5050端口放行
cd pgadmin4/web
python3.8 pgAdmin4.py # 单机
waitress-serve --port=5050 pgAdmin4:app.server # 服务器
报错:
pkg_resources.DistributionNotFound: The 'waitress==1.0.1' distribution was not found and is required by the application
解决:指定waitress-serve完整路径
cd pgadmin4/web
venv/bin/waitress-serve --port=5050 pgAdmin4:app.server
4.6 创建网页静态文件
cd pagadmin4
make install-node
make bundle