mac osx 下建立 python package 以及在github 上开源项目的操作过程

怎么建立一个 python 包,并且发布到 pypi,有很多文章介绍了。同样,怎么在 github 建立一个开源项目,也不难。

把这两个事情一起做,加上我用 pycharm 来辅助完成 python 包的建立,以及用 source tree 来管理 github 项目,事情可就不少了。

小结一下经验体会:

1 建立 python 包,网上大部分教程没什么问题,如果用 pycharm 会更加容易一些,在菜单 Tools 中,会看到 Create setup.py,pycharm 会做一些目录结构调整、生成最基本的需要的文件,以及输入版本作者之类的事情。

2 文件结构转换为包的形式后,pycharm 很聪明的会在菜单 Tools 中,增加一个 Run setup.py Task。可以节约一些工作量,比如 sdist,这是必须执行的,upload 上传也是必须执行的。不过这里有一个坑,在 sdist 执行好之后,就可以选择 install 命令安装自己的包,然后在程序里面 import 什么都可以了,但是如果这时候你想上传 pypi 可能会报错:

error: no dist file created in earlier command

 

当然,肯定已经在 pypi 注册过用户了,查了不少资料,原来是要先这样操作:

python setup.py sdist upload

 

没有在 pycharm 中找到相应的命令,在终端模式下输入吧。

然后就可以 upload 了。所以,如果你 upload 到 pypi 同样碰到上面的错误,不妨试试看先这样操作一下。

来源这个老外的博客文章,写的很有趣也很清楚。

补充:直接执行上面的命令,应该是连 sdist 和 upload 一起都运行了,这样是最方便的。

running sdist
running check
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)

writing manifest file 'MANIFEST'
creating fish_base-1.0.2
creating fish_base-1.0.2/fish_base
making hard links in fish_base-1.0.2...
hard linking README.txt -> fish_base-1.0.2
hard linking setup.py -> fish_base-1.0.2
hard linking fish_base/__init__.py -> fish_base-1.0.2/fish_base
Creating tar archive
removing 'fish_base-1.0.2' (and everything under it)
running upload
Submitting dist/fish_base-1.0.2.tar.gz to https://pypi.python.org/pypi
HTTP Error 500: Internal Server Error
error: HTTP Error 500: Internal Server Error

 

看这里的操作,当 upload 后,显示了错误的信息,但是到 pypi 上看,已经传上去了,略有奇怪,可能这里的网络不稳定。

3 github 中碰到的问题,就是 https 模式下,用户名密码始终通不过验证,然后换成用 ssh 证书模式,按照 github 上的操作是最靠谱的,并且他们区分了不同操作系统,个人私钥的文件名一定要叫 id_rsa,反正我这里不叫这个就是通不过。
严格按照 github 上的步骤,以及测试 ssh 是否通顺的方法,如果不能通过,肯定是不能用的。

4 在项目的 .git 目录下,有一个 config 文件,可以修改其中的 https 模式到 ssh 模式。

5 osx EI Capitan 在 Finder 中显示隐藏信息的方法和之前版本有所改变:

defaults write com.apple.finder AppleShowAllFiles -bool true
killall Finder  

 

关键是后面那句。

source tree 作为一个免费强大的版本管理软件,没什么好说的,使用起来也很方便。

好了,我要修改代码了,为了试验,所传的项目代码都很烂,需要好好修改一下。

未来不远

特别爱看美国大片里面那类星际旅行的,特别喜欢看那些超牛的控制台,大屏幕的显示器,复杂的操作,互相之间的通讯,都是很cool的样子。

OSX升级到了10.10,于是有一部分未来的功能可以实现了,当iphone响起来的时候,我可以选择在电脑上接听电话,双手被解放了,用起来也方便,还很虚荣。

而新版本OSX和iOS的Handoff功能,使得工作连续也能够实现了,所谓一台电脑上copy另外一台电脑上paste其实已经ok了。在mac机上用浏览器查看的网页可以继续在iPhone或者iPad上查看,或许也有点矫情,但的确把设备串联了起来。

微软的windows让我们接受了图形化操作系统来控制电脑,这几年Apple的发力,让用户体验更好,革了很多传统包括传统电器和传统使用方式的命。未来一步步的就在眼前。

WWDC 2013 发布会苹果新产品 5 分钟无废话版介绍

转载自这里

1. ios 7

Johnny Ive 主导的扁平化设计,界面大变样(一时还真难以接受)。值得关注的新功能主要有:

  • 支持设备间通过 AirDrop 无线传输文件
  • 来电和短信黑名单了(终于…)
  • 相机自带滤镜和拍照模式切换;相册管理功能加强
  • 增强多任务功能和手势操作
  • 应用自动升级,以及App Store 根据地理位置推荐应用
  • 新的通知中心和控制中心
  • 天气和 Safari 浏览器等自带应用有重大提升,邮件、信息等应用也做了重新设计。
  • 此外还有 iCloud Keychain(这个后面具体说),新 Siri,内置中英词典,FaceTime 纯音频通话,Flickr、腾讯微博等新的内置分享渠道,各应用独立 VPN 等等新功能

iOS 7 系统最老支持到 iPhone 4、iPad 2、第五代 iPod touch,开发者预览版现在就已发布,正式版要等到今年秋季。

2. OSX Mavericks

 

不用猫科动物命名,改叫小牛了。优化性能,速度将比现在的 Mountain Lion 系统快 1.5 倍。值得关注的新功能有:

  • Finder 里能开多个标签了。可以为文件打 Tag,便于整理和搜索
  • Timer Coalesing 技术减少 CPU 反复开启和关闭的频率,最多可减少 72% 耗电量
  • 提升多屏幕性能(这明明是 Bug 修正),此外您可以通过 AirPlay 外接显示器(边在电视播视频边在电脑上网这不错)。
  • App Nap 将不活动的软件转入休眠,减少资源消耗。比如浏览器窗口被 iWork 窗口盖住了,苹果会判断你在做文档暂时不上网了,浏览器转入休眠降低资源消耗;当你又把浏览器调到前面来时,系统无缝启动被休眠的进程,用户不会感到它和一直运行有什么区别。另外,音乐播放器、下载等经常在后台运行的软件是不会被休眠的。
  • Mavericks 技术自动压缩内存
  • 内置地图和 iBooks 电子书阅读器,可以在电脑上查好路径然后推送到 iPhone 上,这功能挺方便的。
  • 日历、Safari 浏览器、通知中心等功能重新设计,Mac App Store 可以自动升级应用

单独说说 iCloud Keychain 功能。钥匙串是个苹果电脑 Mac OS X 系统自带的密码管理应用,可以为您的各网站生成高强度的随机密码。这样既防止账号被盗,而且各个密码不同,不会丢了一个而其它账号被 “一锅端”。而用户不用记住这些复杂的密码,钥匙串替您管理和自动填写。你只要记住钥匙串的登录密码就能管理和查看了。以前写过一篇介绍

新的 iCloud Keychain 更进一步,在各台设备之间通过 iCloud 自动同步账号密码数据,安全又方便。以前要购买昂贵的 1Password 之类的软件才能实现的功能,现在 OS X 和 iOS 系统内置了。

OS X Mavericks 系统也是现在有开发者预览版,正式版秋天发布。

 

3. iWork

上次还是 09 年大更新的 iWork 办公套件终于要有大升级了。深度集成 iCloud,重点介绍了网页版 iWork,不用开软件同时多人多设备协作也更方便,支持 Safari、Chrome、IE 浏览器。向 Google Docks 和微软 Office 365 开炮!

4. iTunes Radio

此前被疯传的 iRadio 音乐电台服务,正式名字叫 iTunes Radio。集成在 iOS 系统的 “音乐.app” 里,免费,但有广告。iTunes Match 用户可享受无广告的 iTunes Radio。

5. Macbook Air

换上了 Intel 的 Haswell 处理器,速度提升 40%,闪存快了 45%,而且起步容量从 64GB 加到了 128GB。支持 802.11 ac 技术,WiFi 速度提升三倍。

最大进步:更省电 – 13 寸版续航时间从以前的 7 小时提升到 12 小时,11 寸款续航时间从 5 小时提升到 9 小时。

现在就能买了。

6. 新Mac Pro

多年没更新的 Mac Pro 工作站终于换代了。外形大变样体积仅为上一代的 1/8,内部结构和以前的台式电脑完全不一样,像个大烟囱:把原来一大块主板拆成几小块搭成一圈。然后烟囱一样的机身,底部进风顶部风扇排气,穿堂风吹过这一圈发热零件。接口在侧面,而且是带背光的晚上也不会插错。你最好去苹果官网看看这组设计图 http://www.apple.com/mac-pro/。十二核至强处理器,AMD FirePro 显卡,Thunderbolt 2 接口支持三台 4K 显示器。新 Mac Pro 将在美国本土生产,今年晚些时候上市。

 

7. 新款Airport Extreme 和 Time Capsule

无线路由器也和新款苹果电脑一样支持 802.11ac WiFi,外形也有变化,像 Mac Pro 风格了。看官网吧http://www.apple.com.cn/airport-time-capsule/