Git 常用命令整理



Git 诞生

BitMover 禁止 Linux 社区免费使用, 于是 Linus 花了两周时间自己用C写了一个分布式版本控制系统.

Git 账户的初始化可以查看文章 Github 账户本地初始化. 下面是 git 命令的整理:

Git 常用命令

1. 初始化

# 本地目录初始化
git init
# 远程下载
git clone <repo_url>

阅读全文 »


免费的中文编程书



添加一个 iframe, 内容是 Github free-programming-books, 优先保存一下中文书籍.

阅读全文 »


SpringBoot 笔记



post-getting-started-with-spring-boot

营销测试工具工程实现, 基于 SpringBoot , 码了一段时间, 整理一下笔记, 真的特别好用!!! 最直观的感受有下面三方面:

  • 无 xml 配置!!!
  • 内嵌 tomcat
  • 组件选配

1. 创建工程

1.1 使用 IDEA 创建

个人推荐使用 IDEA 来创建, 省事. 不需要下载, 解压, 顺带还指定安装目录.

阅读全文 »


无法 trim 的空格 Non-breaking space



1. 场景描述

营销活动, 运营同学上传人群名单, 系统读取文件将人群落库, 有行数据混进了空格, 发奖失败.

account_no = ‘ 226610000XXXXXXXXXX’

image

阅读全文 »


Python 开发环境初始化配置



本文介绍在 Linux环境下, Python 环境开发需要配置的内容, 包括 python3 安装, virtualenv 配置, pip 等.

1. 源码安装 python3

  1. 首先去官网找到 source 地址, Python Source Releases, 以当前最新版本 Python3.6.1 为例, 打开该版本地址 Python 3.6.1

  2. 选择第一个源码包, 在 Linux 系统上使用 wget 下载.

     wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz ![e476766683cf5d13c0d14b77d3462fd2](https://private-alipayobjects.alipay.com/alipay-rmsdeploy-image/skylark/attach/1563/e476766683cf5d13c0d14b77d3462fd2)
    
  3. 解压缩, 编译安装 Python3, 安装需要用到 sudo 权限, 提前切换成有 sudo 权限的用户.

tar -zxvf Python-3.6.1.tgz
cd cd Python-3.6.1
./configure && make && sudo make install

安装完成后, terminal 中输入 python3 就能打开解释器

$python3
Python 3.6.1 (default, Apr  6 2017, 20:09:12)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

2. 安装包管理工具 pip

2.1 pip 介绍

pip 之于 Python, 好比 mvn 之于 Java, npm 之于 NodeJS.

好消息是, 如果你使用最新的 Python3 或者 Python2(Python 2 >=2.7.9 or Python 3 >=3.4), 系统默认已经安装了 pip.

比如上面安装的 Python3, 我们很快找到 pip 的路径:

$which python3
/usr/local/bin/python3

cd /usr/local/bin

$ls pip*
pip3  pip3.6

2.2 pip 手动安装

为了兼容 Python 老版本, 介绍下安装 pip 的步骤, 同样需要使用 sudo 权限:

wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py

3. 配置 Python 执行环境 virtualenv

在开发Python应用程序的时候, 如果不同项目使用的 Django 版本不同, 第三方的包都会被pip安装到的site-packages目录, 会导致相互覆盖, 因此用到 Python 环境管理器 virtualenv 解决.

virtualenv 主要解决如下问题:

  1. 不同项目使用不同版本的包, 相互独立
  2. 安装包, 不需要 sudo 权限

3.1 区分 pyenv pyvenv virtualenv

首先理解 3 个容易混淆的概念:

  1. pyenv 这是一个python 版本安装器, , 详情见官网说明. 比如本文 Python3.6.1 可以使用该工具进行安装:

     pyenv install 3.6.1
    
  2. pyvenv

    Python3.3 集成到标准库中的虚拟环境管理器, 放目的是将来替代 virtualenv (参考 PEP405), 但是不支持低版本的 Python, 当前功能不是非常完善.

  3. virtualenv

    本地新建目录, 将系统 Python 环境完整拷贝过来, 保持每个 python 环境的独立性.

3.2 virtualenv 使用介绍

  • 首先, 安装 virtualenv
sudo pip3 install virtualenv
  • 然后, 创建一个独立的 Python 环境, 给项目使用, 比如命名 great_python3_env
virtualenv great_python3_env

Using base prefix '/usr/local'
New python executable in /home/admin/git/great_python3_env/bin/python3.6
Also creating executable in /home/admin/git/great_python3_env/bin/python
Installing setuptools, pip, wheel...done.

如果不需要当前环境的包, 使用 virtualenv nowamagic_venv --no-site-packages 进行安装

  • 最后, 激活该环境, 也可以将如下命令添加到 ~/.bashrc 或者 ~/.zshrc
source great_python3_env/bin/activate

(great_python3_env)

这样你就拥有了项目独立占用的 Python 环境, 由于刚才是 pip3 安装的 virtualenv, 因此生成的环境也是基于 Python3 的. 命令行测试如下:

$which python
~/git/great_python3_env/bin/python

可见 python 命令已经指向到了该环境中的 python, 同样, 该环境下使用 pip 命令安装, 也会安装到 ~/git/great_python3_env/lib/python3.6/site-packages/ 中.

3.3 退出 virtualenv 环境

使用 deactivate 退出当前环境

deactivate

4. 总结

以上就是 Python 开发前的环境准备工作了, 简单整理如下:

# 1. 源码安装
mkdir ~/git && cd git
wget wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
tar -zxvf Python-3.6.1.tgz
cd Python-3.6.1
./configure && make && sudo make install

# 2. 手动安装 pip
wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py

# 3. 初始化 virtualenv 环境
sudo pip3 install virtualenv
virtualenv great_python3_env
source great_python3_env/bin/activate

# 4. 添加到 .bashrc
echo 'source ~/git/great_python3_env/bin/activate' >>  ~/.bashrc

# 5. 退出 virtualenv
deactivate

5. 参考文档

  1. Pic 原地址
  2. pyenv Github
  3. python-pyenv-pyvenv-virtualenv-whats-the-difference
  4. VENV 文档
  5. PEP405
  6. pyvenv_vs_virtualenv

阅读全文 »