• 0、Python环境安装


    pyenv安装方式

    1、安装git

    yum install git -y
    

    2、安装python编译依赖

    yum -y install gcc make patch gdbm-devel  openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
    

    3、下载的是一个叫pyenv-installer的shell脚本

    Pyenv官网 https://github.com/pyenv/pyenv

    Pyenv-installer插件 https://github.com/pyenv/pyenv-installer

    curl -x 192.168.1.6:7890 -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
    

    4、如果curl出现 curl:(35) SSL connect error 是nss版本过低,需要更新

    # yum仓库
    [updates]
    name=CentOS-Updates
    baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
    gpgcheck=0
    
    yum update nss
    

    5、~/.bash_profile中追加

    $ vim ~/.bash_profile
    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init --path)"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
    source ~/.bash_profile 
    

    这样当用户启动的时候,会执行用户的.bash_profile中的脚本,就会启动pyenv

    安装好的pyenv就在~/.pyenv目录中

    pyenv命令

    python版本及path路径

    python -V
    echo $PATH
    

    pyenv命令

    pyenv help install
    

    列出所有可用版本

    pyenv install --list
    

    在线安装指定版本

    pyenv install 3.8.6
    pyenv versions
    

    使用缓存方式安装

    在~/.pyenv目录下,新建cache目录,放入下载好的待安装版本文件

    $ mkdir ~/.pyenv/cache
    $ cd ~/.pyenv/cache
    $ wget -e "https_proxy=http://192.168.1.6:7890" https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tar.xz
    $ pyenv install 3.8.6
    

    pyenv的python版本控制

    version显示当前的python版本

    versions显示所有可用的版本和当前版本

    global全局设置

    pyenv global 3.8.6
    pyenv versions
    

    可以看到所有受pyenv控制的窗口中都是3.5.3的版本了

    这里用global是作用于非root用户python用户上,如果是root用户安装,不要使用global,否则影响太大,比如这里使用的centos6.5就是python2.6,使用了global就成了3.x,会带来很不好的影响

    shell会话设置

    影响只作用于当前会话

    pyenv shell 3.8.6
    pyenv versions
    

    local 本地设置

    使用pyenv local设置从当前工作目录开始向下递归都继承这个设置

    pyenv local 3.8.6
    pyenv versions
    

    为什么要使用虚拟环境?

    因为Python环境都是一个公共空间,如果多个项目使用不同Python版本开发,或者使用不同的Python版本部署运行,或者使用同样的版本开发的不同项目使用了不同版本的库等等这些问题会带来冲突的发生,最好的解决办法就是每一个项目独立运行在自己的"独立小环境"中。使用插件,在plugins/pyenv-virtualenv中

    $ pyenv virtualenv 3.8.6 wuyanzu
    $ mkdir /pyproject/xiecheng -p
    $ cd /pyproject/xiecheng
    $ pyenv local wuyanzu  # wuyanzu是一个容器名,是上面用virtualenv创建的
    # 导出包
    $ pip freeze > requirement
    

    取消local设置

    pyenv local --unset
    

    python的编译安装

    由于centos自带的是2.6所以需要重新安装

    $ python --version
    Python 2.6.6
    

    安装依赖

    yum -y install zlib zlib-devel
    yum -y install bzip2 bzip2-devel
    yum -y install ncurses ncurses-devel
    yum -y install readline readline-devel
    yum -y install openssl openssl-devel
    yum -y install openssl-static
    yum -y install xz lzma xz-devel
    yum -y install sqlite sqlite-devel
    yum -y install gdbm gdbm-devel
    yum -y install tk tk-devel
    yum install gcc
    
    $ wget -e "https_proxy=http://192.168.1.6:7890" https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz
    $ tar zxf Python-3.8.6.tgz -C /tmp
    $ cd /tmp/Python-3.8.6
    $ ./configure --prefix=/usr/local --enable-optimizations
    # 根据你的真实CPU核数
    $ make -j 6 
    $ make install 
    $ ln -s /usr/local/bin/python3.8 /usr/bin/python3
    $ ln -s /usr/local/bin/pip3.8 /usr/bin/pip3
    

    pip通用配置

    $ mkdir ~/.pip
    $ vim ~/.pip/pip.conf
    [global]
    trusted-host=pypi.doubanio.com              
    index-url=https://pypi.doubanio.com/simple/ 
    

    Pycharm与Linux的环境同步(SFTP)

    一、前提条件

    1、确保linux服务器已经安装好虚拟环境,并且虚拟环境已经python的相关环境(连接服务器也可以进行环境配置)。

    二、连接服务器

    1、进入pycharm的Tools栏

    2、选择文件传输协议为SFTP,输入服务器的IP、端口、密码进行连接,不出意外的情况下应该是能够连接成功的。

    3、选择本地和服务器的文件路径

    三、采用服务器的解释器

    1、file-setings-Priject interpretor-SSH输入服务的IP和用户名

    requirements.txt

    文件用于声明 Python 依赖,以后要用的包

    $ pip3 freeze > requirements.txt # 生成requirements.txt
    $ pip install -r requirements.txt # 从requirements.txt安装依赖
    

    直接编辑

    prettytable
    requests
    aiohttp
    aiofiles
    scipy
    pillow
    numpy
    

    setup.py 与 requirements.txt 区别

    setup.py 这个文件是用来管理模块的,你可以将你的项目打包为模块上传到 pypi 中,也同样能将项目作为模块放入python 的系统加载模块目录下。

    requiremens.txt 这个文件是列举你这个项目引用了哪些非本项目的依赖的,除此之外,没有其他作用。

    因此,可以看出这两个项目其实并没有冲突关系,而且有很大共存的必要。

    假如你的项目需要保存为系统模块,或者可安装为系统命令的 setup.py 就必不可少了
    假如你的项目是可以直接运行的,那么 requirements.txt 也是必不可少。
    如果你两种功能都需要,那么就两个文件都不能少。
    有这两种功能都需要的么?

    必须有啊,而且还很多,例如 Flask,他就支持两种方式:

    以系统命令的方式启动,在 Flask 0.11.1 中新加入了一个 Click 包,他可以让你 setup 之后以命令的方式运行
    直接运行,传统的 Flask 启动方式一般就是 app.run() 或者 python manage.py runserver

    IDE辅助工具下载

    • ansible
    • Kite
    • docker
    • kubernetes
    • Material Theme UI
  • 相关阅读:
    js页面滚动定位
    函数定义
    __proto__和prototype
    数组操作
    mysql中 group_concat函数在oracle中使用
    字符串里有字典转列表
    处理 Unicode转汉字编码问题
    Key没有引号的K-V格式字符串,怎么转换成Json/dict
    httpx
    appium +夜神模拟器
  • 原文地址:https://www.cnblogs.com/wuyanzu123/p/14807017.html
Copyright © 2020-2023  润新知