Sigmago 开发环境搭建指南

发布于 2020-11-12 12:45:53 字数 2240 浏览 1241 评论 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

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

0 文章
0 评论
84960 人气
更多

推荐作者

1CH1MKgiKxn9p

文章 0 评论 0

ゞ记忆︶ㄣ

文章 0 评论 0

JackDx

文章 0 评论 0

信远

文章 0 评论 0

yaoduoduo1995

文章 0 评论 0

霞映澄塘

文章 0 评论 0

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