Sigmago 开发环境搭建指南

发布于 2020-11-12 12:45:53 字数 2240 浏览 1250 评论 0

系统环境

本指南假设读者在 Linux 或其他类 Unix 操作系统下搭建开发环境。如果读者需要使用 Windows 开发,建议在以下两种方案中选择一个:

  1. 安装 Cygwin 模拟器,然后在 Cygwin 中按照本指南搭建开发环境;(不推荐)
  2. 安装 VirtualBox 虚拟机,在虚拟机中安装一个 Linux 操作系统(无需安装桌面环境,但需要安装 openssh-server)。在 Windows 端开发时启动虚拟机,用 win-sshfs 将虚拟机系统中的开发工作目录映射为 Windows 目录或驱动器。对虚拟机终端的操作可以使用 PuTTY,虚拟机对外部网络的访问可以通过将虚拟机网卡配置为 NAT 模式解决。注意,配置 NAT 模式时需要将 TCP 22(SSH)端口和 TCP 5000(开发服务器)端口映射到物理主机。(推荐)

建议使用 x64 操作系统。

软件需求

  • Python 2.7.3
  • setuptools 和 pip (Python 包管理器)
  • virtualenv (Python 包管理虚拟环境,可通过 pip install virtualenv 安装)

以下软件为可选安装:

  • Vim
  • BPython

搭建开发环境

本项目的开发环境通过 GNU Make 工具构建,所以开发者需要确保系统已经正确安装了 make、gcc、glibc-devel(glibc-headers)、python-devel(python-headers)等库包。当然,更重要的是贯穿整个开发流程的版本控制工具 —— git。

首先应该使用 git 从主库克隆一份代码,构建本地的私有版本库。

$ git clone git@github.com:tonyseek/sigmago.git
$ git fetch
$ git pull origin develop
$ git checkout develop

这个步骤需要已经将系统的 SSH 公钥交给 GitHub 授权,具体做法请参考 GitHub 文档或其他互联网资料。

然后进入版本库,创建虚拟环境(virtualenv)和初始配置文件。

$ cd sigmago
$ make init

等待一段时间,构建脚本会创建一个独立于系统全局的 Python 包安装环境,并自动安装本项目所需要的依赖(在 requirements.txt 中列出的包)。此时代码目录下会出现一个 var 目录,该目录不受版本控制,保存着本地的虚拟环境和配置文件。

虚拟环境一旦创建好,以后开发中就不需要再次创建。但每次开发工作开始之前,需要先激活虚拟环境中定义的环境变量。

$ make env
=> Please enter next command to enter virtual enviroment.
. ./var/bin/activate
$ . ./var/bin/activate

按照 make env 给出的提示信息,执行激活操作后,终端提示符前出现(var)前缀,说明已经在当前会话中激活虚拟环境。如果需要取消激活,可以在任何时刻执行 deactivate。如果需要彻底删除 make init_env 创建的虚拟环境(例如需要重新构建),可以执行 make destory_env。注意,删除虚拟环境也会导致本地配置文件被删除。

提示:进入虚拟环境的操作也可以通过给 make env 加反引号快速完成。

$ `make env`
=> Please enter next command to enter virtual enviroment.
(var)$

本地配置文件一般位于 var 目录下,文件名是 config.cfg。该文件的内容添加必须符合 Python 语法,事实上这就是一个包含许多常量的 Python 模块。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

文章
评论
84963 人气
更多

推荐作者

微信用户

文章 0 评论 0

小情绪

文章 0 评论 0

ゞ记忆︶ㄣ

文章 0 评论 0

笨死的猪

文章 0 评论 0

彭明超

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文