mac 装 python 版本切换

brew install pyenv
echo $SHELL

查看使用的是 zsh 还是bash

vi ~/.zshrc
或者
vi ~/.bash_profile
#结尾加
# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then

  eval "$(pyenv init -)"

fi
source ~/.zshrc
exec zsh
或者
source ~/.bash_profile
pyenv install --list
#选择并安装目标Python版本。例如,要安装Python 3.7,可以运行以下命令:
pyenv install 3.7.12
#设置全局的Python版本:
pyenv global 3.7.12
#或者,你也可以在特定目录中设置局部的Python版本:
pyenv local 3.7.12
#其它命令
pyenv local --unset
python --version

虚拟环境

#创建虚拟环境
python -m venv --system-site-packages ./venv
#进入虚拟环境
source ./venv/bin/activate
#退出虚拟环境
deactivate

宝塔部属umijs/max/node项目

umijs/max或者node项目,用npm build生成dist文件夹,把dist文件夹传到宝塔网站wwwroot文件夹下。

宝塔安装nodejs管理器。

网站,node项目,先安装node版本,添加node项目。

项目目录:/www/wwwroot

dist是上传的文件夹名,启动命令:serve dist

项目端口:3000

保存配置,然后点新加的网站,点名称进入网站设置。

模块管理,输入serve,安装模块。

服务状态启动服务就可以访问已绑定的域名了。

umijs max React 的代码打包多份再运行react找不到问题

mf-dep____vendor.80125e40.js:263462 Warning: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:

  1. You might have mismatching versions of React and the renderer (such as React DOM)
  2. You might be breaking the Rules of Hooks
  3. You might have more than one copy of React in the same app
    See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.

Uncaught TypeError: Cannot read properties of null (reading ‘useContext’)

根因在某些复杂场景下,React 的代码被打包多份,再运行时产出了多个 React 实例。解法通过 Module Feratation 的 shared 配置来避免多实例的出现。 如果有其他依赖出现多实例的问题,可以通过类似的方式解决。

在config/config.ts文件里加mfsu的配置

mfsu: {
  shared: {
    react: {
      singleton: true,
    },
  },
},

sequelize:如何在include中attributes重命名列

User里的type字段重命名为type,放到account同级属性下

User的attributes给一个空数组,返回数据格式则不带User的数据。

const account = await Account.findByPk(id, {
      attributes: ['id', [Sequelize.col('"User"."type"'), 'type']],
      include: {
        model: User,
        attributes: [],
      },
    });

重命名modal。

account的modal文件里。

Account.hasOne(models.User, {
        as: 'user',
        foreignKey: 'id',
        sourceKey: 'userId',
      });

使用,注意User改成小写user了。

attributes: ['id', 'userId', [Sequelize.col('"user"."type"'), 'type']],
      include: {
        model: User,
        as: 'user',
        attributes: [],
      },