Linux下

  1. 安装依赖

    1
    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libjpeg-turbo-devel git
  2. 拉取包

    1
    git clone git://github.com/pyenv/pyenv.git ~/.pyenv
  3. 拉取virtualenv

    1
    git clone git://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
  4. 配置~/.bash_profile

    1
    vi ~/.bash_profile
    • 第一种

      1
      2
      3
      4
      5
      6
      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
      eval "$(pyenv virtualenv-init -)"
    • 如果第一种不起效 第二种

      1
      2
      3
      4
      5
      export PYENV_ROOT="$HOME/.pyenv"
      export PATH="$PYENV_ROOT/bin:$PATH"
      eval "$(pyenv init --path)"
      eval "$(pyenv virtualenv-init -)"
      eval "$(pyenv init -)"
  5. 刷新

    1
    source ~/.bash_profile

使用

  • 列出所有包

    1
    pyenv install --list
  • 安装

    1
    pyenv install 版本号
    • 因为网络问题 建议直接下载tar.xz源码包,放置在~/.pyenv/cache/目录下在执行install命令

    • 带参数执行

      1
      env PYTHON_CONFIGURE_OPTS="--enable-shared --with-ssl" pyenv install 版本号
  • 应用到本地

    1
    pyenv local 版本号
  • 应用到当前shell

    1
    pyenv shell 版本号
  • 应用到全局

    1
    pyenv global 版本号
  • 取消设置local版本

    1
    pyenv local --unset

安装python包

  • 升级pip

    1
    pip  install --index https://pypi.mirrors.ustc.edu.cn/simple/ --upgrade pip
  • 安装依赖包

    1
    pip  install --index https://pypi.mirrors.ustc.edu.cn/simple/ numpy pandas scipy matplotlib scikit-learn pyinstaller==4.3
  • 打包测试

    1
    2
    3
    4
    5
    python3 clustering_exec_main_tree.py m5-failure.csv a b
    # 打包
    pyinstaller -F clustering_exec_main_tree.py

    ./clustering_exec_main_tree.py m5-failure.csv a b

报错处理

  • ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

    • 手动更新OpenSSL

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz
      tar -xzf openssl-1.0.2j.tar.gz
      cd openssl-1.0.2j
      ./config shared zlib
      ./config -t
      make
      make install
      cd /usr/local/ssl/lib
      ldconfig -v
      # 把下方新的ssl环境变量导入到.bashrc
      LD_RUN_PATH="/usr/local/ssl/lib" \
      LDFLAGS="-L/usr/local/ssl/lib" \
      CPPFLAGS="-I/usr/local/ssl/include" \
      CFLAGS="-I/usr/local/ssl/include" \
      CONFIGURE_OPTS="--with-openssl=/usr/local/ssl" \
    • 安装以下依赖包,重新执行

      1
      2
      3
      4
      5
      6
      7
      yum install -y openssl-static

      yum install -y gcc wget

      yum groupinstall "Development tools"

      yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel