• (坑集)Python环境配置


    如题记录一些python环境配置中出现的坑:


    一、ubuntu下使用pip安装mysqlclient包

        如果出现在ubuntu下安装mysqlclient包失败的情况下,可以先在使用apt-get安装libmysqlclient-dev,即:

    sudo apt-get install libmysqlclient-dev

        然后再正常使用pip安装mysqlclient即可。


    二、centos下使用pip安装mysqlclient包

        如果出现了下面这种问题,说明你正在使用python3,并且缺少静态文件

     #include "Python.h"
                            ^
        编译中断。
        error: command 'gcc' failed with exit status 1

        输入yum search devel|grep python,获取符合你python3版本的devel,安装后,mysqlclient安装成功。


    三、virtualenvwrapper配置报错

        在安装好virtualenvwrapper之后,需要在~/.bashrc中配置,把vw的.sh文件添加进去,还可以选择修改虚拟环境默认保存的位置。

        首先在编辑.bashrc之前,你需要知道virtualenvwrapper.sh文件的路径,使用下面的命令查找

    sudo find / -name virtualenvwrapper.sh

       下面是我的查找结果

        因为我是直接安装在我的用户路径下的,所以如果你是安装在根目录下,结果应该是/usr/local/bin/virtualenvwrapper.sh

        得知路径之后就可以在~/.bashrc文件中添加下面配置

    export WORKON_HOME=$HOME/virtualenvs # 配置虚拟环境的保存位置 $HOME是用户的主目录
    source /home/God/.local/bin/virtualenvwrapper.sh # 配置virtualenvwrapper命令的脚本 

        第一条配置可以随你的喜爱去更改,但是第二条配置需要使用刚才获取路径,只有命令脚本路径正确才可在linux中直接使用virtualenvwrapper中的命令。

        修改.bashrc文件后,需要重新加载.bashrc文件

    source ~/.bashrc
    

    重点!!!

        如果你的环境是python3,重新加载后,可能会出现这样类似的错误

    /usr/bin/python: No module named virtualenvwrapper
    virtualenvwrapper.sh: There was a problem running the initialization hooks. 
    If Python could not import the module virtualenvwrapper.hook_loader,
    check that virtualenvwrapper has been installed for
    VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
    set properly.

        因为在virtualenvwrapper.sh中有如下代码

    # Locate the global Python where virtualenvwrapper is installed.
    if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
        VIRTUALENVWRAPPER_PYTHON="$(command which python)"
    fi

       脚本会默认使用python2环境,但是virtualenvwrapper装在了python3环境中,所以会有上面的报错。

       解决办法:

       直接将VIRTUALENVWRAPPER_PYTHON默认值修改为/usr/bin/python3即可

    # Locate the global Python where virtualenvwrapper is installed.
    VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
        VIRTUALENVWRAPPER_PYTHON="$(command which python)"
    fi

        修改后,按照上面步骤,重新加载下virtualenvwrapper.sh即可解决问题。


  • 相关阅读:
    Swift 对AFN框架的封装
    iOS开发中静态库制作 之.a静态库制作及使用篇
    iOS 地图定位及大头针的基本使用
    swt中改变树的字体及颜色的实现
    为什么很多程序员选择跳槽?
    用SWT做圆形控件
    JAVA简单编码规则
    swt中改变表格字体大小及颜色的实现
    使用JAVA的反射机制反射带有数组参数的私有方法
    我的GIT使用经历
  • 原文地址:https://www.cnblogs.com/GF66/p/9785479.html
Copyright © 2020-2023  润新知