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的话,最好的方式就是从源代码开始构建。这听起来有点吓人但其实真的非常简单。

阅读全文

用树莓派DIY便携式警报器

我一直在寻找一些能给自己孩子带来教益的瞬间。当我五岁的儿子来寻求我的帮助,别再让他的弟弟偷偷溜进他的房间的时候,我突然灵光一现,发现这是教他关于输入、输出和其他一些编程知识的绝佳时机。而且让他在解决自己实际问题中学习这些也会相对容易。

20150614215022111-0

我本来可以用很多不同的方法来建立一个简单的警报系统,但是我想要让这个系统是一体化的并且在功能上不止能满足我儿子最初的原始需求。选择树莓派作为控制器是因为它很容易连接到网络、能播放MP3格式的文件、可以和像摄像机这样的USB外围设备进行交互,而且它具有GPIO(通用的输入输出),这样就可以把它和按钮、传感器、灯这样的简单电子元件连接起来。

阅读全文

树莓派 SAKS 扩展板挑战应用 之 站点宕机指示

本文所介绍的内容基于树莓派瑞士军刀扩展板(SAKS),由于 SAKS 基于树莓派通用的 GPIO 设计,文中的原理和代码也适用于其他情况。

本文由树莓派实验室创作,遵循CC协议(署名-非商业性使用-禁止演绎-相同方式共享),欢迎树莓派爱好者们遵循协议内容转载传播。谢绝不遵守协议的转载和抄袭。

本节介绍通过 SAKS 扩展板的 LED 指示任意网站的可访问状况。如果你有一个自己的网站或者博客,确保它能够在任何时候都能正常访问是很有必要的。当被监测的网站无法访问或者发生错误时,红色或黄色 LED 亮起,而当网站能正常访问时,绿色指示灯亮起。

本例程中涉及到的 SAKS 扩展板引脚编号如下:

功能

注释

BOARD
编码

BCM
编码

wiringPi
编码

LED排灯 LED-D7 第6个LED(绿) 28 1 31
LED-D8 第7个LED(黄) 26 7 11
LED-D9 第8个LED(红) 24 8 10

阅读全文

树莓派 Windows10 IoT Core 开发教程

入门指引

现在让我们把LED连接到安装了Windows10 IoT Core 的硬件设备,并创建一个应用程序来让它们闪烁。

在Visual Studio中加载工程

首先在这里找到例程,这里有C++和C#的版本可供选择。本教程仅介绍使用C#的版本。将工程文件夹拷贝到磁盘中,然后用Visual Studio打开。
然后检查你的Windows IoT设备,确保打开了远程调试功能(Remote Debugging),可以参考这里的Hello World程序。
请注意如果Windows 10找不到可用的GPIO接口,应用程序将不会工作。比如你将windows10安装在了VM虚拟机中。

将LED连接到 Windows 10 设备

准备好下面的东西:
一个LED灯
一个阻值220欧姆电阻
若干杜邦线和面包板

components-0

阅读全文