项目开发环境配置

一、常用依赖安装

  • 安装mysql和redis,并启动服务,安装方法详见"MySQL与Redis的安装"一文
  • 安装python开发包:

    • 执行pip3 install python-devel
    • 如果报找不到python-devel,则安装python-dev
    其中包括了一些用C/Java/C#等编写的python扩展在编译的时候依赖的头文件等信息。
  • 安装mysql-devel和mysql-libs:yum install mysql-devel mysql-libs,注意:在centos中这里安装使用的是系统包管理器yum
  • 安装bzip2-devel:yum install bzip2-devel
  • 安装git:yum install git

二、mysql数据库与权限

  • 创建项目数据库:create database 名字 charset utf8;
  • 创建测试用例数据库:create database test_名字 charset utf8; ,测试用例数据库以test开头
  • 创建超级用户:create user "名字"@"%" identified by "密码";
  • 授权:超级用户拥有项目数据库和测试用例数据库的所有全新啊

    • grant all on 数据库名.* to "用户名"@"%";
    • grant all on test_数据库名.* to "用户名"@"%";
  • 刷新权限:flush privileges;

三、远程连接pycharm

项目部署上线是在linux环境中,正常的开发中很多人使用的是mac或者windows系统,为了能够本机开发代码及时上传到远端服务器中,提高开发效率,需要在pycharm中设置远程连接

  • 在pycharm中设置远端服务器并连接。在Tools中找到Development,点击Configration进入配置页面

第一步

  • 进入配置页面点击+,选择SFTP,设置服务器名字

第二步

  • 点击SSH configration进行连接配置,点击+添加配置页面,配置之后测试连接是否成功

第三步

host为远程服务器ip,端口为22,Authentication type不用变
  • 配置生效之后返回STFP配置页面,设置Root path路径,这里设置的是项目的上一级目录,例如:项目的名字为backstage,上一级目录为testProject,那么这里写/testProject,结尾没有斜杠
  • 在Advanced中设置Send keep alive messages each,这里设置为10s
  • 设置Mappings页面Development path设置为项目的名字,以斜杠开头,结尾没有斜杠

第四步

  • 应用后,设置Python Interpreter

第五步

  • 新建SSH Interpreter,选择已经创建的远程连接

第六步

  • Interpreter是远程服务器的中的,不是本地机器的,远程服务器使用pipenv --py获取Python Interpreter;Sync folders中左侧是本地项目目录,右侧是远程服务器中的项目目录,两者之间做了映射。

第七步

  • 新建完成之后选择并应用
  • 在项目上点击右键,选择Sync with Deployed to....,然后选择对应的远程服务器进入到新的页面,本地目录和远程目录文件比较,拉取远程文件到本地或者跟新本地修改文件到远程服务器

第八步

  • 设置项目的run/debug Configrations

    • Python Interpreter:选择设定好的远程连接中的Interpreter
    • Working directory:本地的项目路径
    • 在log中勾选后两项,项目开发中可以看到日志的详细信息

第九步

  • 在Preferences中找到Languages & Frameworks中找到Django进行设置

    • 勾选Enable Django Support
    • Django project root:选择本地项目的目录路径
    • Settings选择到项目config/settings/local.py
  • 应用并启动本地服务
  • 启动之后可能会出现的问题

    • 找不到celery和environ,使用pipenv导入即可
    • 源码中出现类似于raise KeyError, name之类的语法问题,直接修改为raise KeyError(name)即可

你可能感兴趣的:(mysql,python,pycharm)