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 -v4.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.jsondev_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.pyconfig_local.py文件的内容为:
from config import *
# Debug mode
DEBUG = True
# App mode
SERVER_MODE = True
# Enable the test module
MODULE_BLACKLIST.remove('test')
# Log
CONSOLE_LOG_LEVEL = DEBUG
FILE_LOG_LEVEL = DEBUG
# DEFAULT_SERVER = '127.0.0.1'
DEFAULT_SERVER = '0.0.0.0' # 服务器端,故使用'0.0.0.0'
UPGRADE_CHECK_ENABLED = True
# Use a different config DB for each server mode.
if SERVER_MODE == False:
SQLITE_PATH = os.path.join(
DATA_DIR,
'pgadmin4-desktop.db'
)
else:
SQLITE_PATH = os.path.join(
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.server4.6 创建网页静态文件
cd pagadmin4
make install-node
make bundle