Python 包管理工具解惑

一、困惑

作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑)。主要表现在下面几个方面:

  1. 这几个包管理工具有什么不同?
  2. distutils
  3. setuptools
  4. distribute
  5. disutils2
  6. distlib
  7. pip
  8. 什么时候该用pip,什么时候该用 setup.py ,它们有关系么?
  9. easy_installez_setup.pysetup.pysetup.cfg 分别都是干啥的?
  10. wheel 和 pip 的关系?
  11. Egg 和 whl 的关系?
  12. 如何发布自己的模块(发布到PyPI)?
  13. 如何进行模块的私有发布(不发布到PyPI)?

为了弄清这些问题,我找了许多资料。最后发现最好的资料还是 python 的官方文档。

阅读全文

如何在树莓派上从源代码构建Golang

gophercolor-300x300

自打一开始,Google的Go编程语言就支持多种操作系统以及处理器架构。比如说Windows、Mac OS X、Linux、FreeBSD上的x86 32位及64位CPU。一直以来Golang项目也都支持ARM芯片,从ARMv5、ARMv6以及ARMv7系统架构。树莓派采用的是博通公司的基于ARMv6的架构,而树莓派能完美运行Linux和FreeBSD,因此在树莓派上也可以用Go语言来编程。本文就是指导你如何在树莓派上从源代码来构建Go语言。

Google暂时还没有为树莓派提供预构建好的Golang二进制包。尽管在写作本文时已经有一个针对Raspbian系统的Golang包了,但版本较老。因此如果目前想在树莓派上安装Golang的话,最好的方式就是从源代码开始构建。这听起来有点吓人但其实真的非常简单。

阅读全文

树莓派系统升级 Wheezy 到 Raspbian Jessie

Upgrade-debian-7-to-8-0
树莓派官方在上周放出了 Raspbian 8 Jessie 镜像文件下载。这是 Raspbian Wheezy 2015.5.5 之后的一次更新版本,核心版本升级到了 4.1。而老的 Wheezy 版本也可以通过简单的步骤升级到 Raspbian Jessie 8 且不用重新刷写镜像。下面将介绍如何升级,要知道,升级有可能会破坏现有系统,在此之前请一定注意备份好老的系统(你可以用镜像读写工具备份现有系统)。如果你对之前的系统做的更改越小,升级将会越顺利。

1. 建议:

  • 移除非必要的包
  • 完整升级当前系统
  • 备份数据
  • 虽然用SSH操作问题不大,但还是建议直进入终端来操作

阅读全文

命令行下的中文界面——zhcon安装

20150903221951319-0

zhcon是我见过最难编译的,没有之一。树莓派的apt源上的zhcon装完之后无法启动utf-8编码模式,我找了一堆资料终于整理出了一个能用的zhcon包:下载zhcon-0.2.5

编译前需要做两步:

sudo apt-get install libncurses5-dev

startx打开图形界面,进入zhcon的src目录,在报错的g++编译最后加上-lncurses

如下所示:
阅读全文

安装OpenWrt将树莓派变身为全能路由器

随着上网设备的增多,一直想搞个全局的智能梯子,本着重在折腾的原则,搞了个MikroTik 951G软路由来玩(不玩不知道,真尼玛强大),这时又偶然发现openwrt不光有x86版,也早就支持Pi了,要知道Pi的cpu和内存绝对秒杀HG255D等一系列的低端路由器啊,虽然树莓派价格相对比较高,如果有闲置的派拿来玩玩又何妨。

20150728220502960-0

硬件准备:Raspberry Pi一个,注意,B+用户暂时不能完美使用。

  • USB无线网卡一个,这里使用AR9271芯片迅捷fw150ud,如果只做有线路由使用,可以不用
  • USB有线网卡一个,这里使用AX88772B芯片山寨usb网卡,如果只做无线路由使用,可以不用
  • 需要网线上网可以接个千兆交换机或用替换下来的多口路由器代替
  • SD卡一个,有个128M或256M都够用了
  • Micro USB线及5V,2A电源,网线两根,不用解释
  • MikroTik 951G-2HnD,自建PPPoE服务器,方便测试

阅读全文