在windows下使用pyflakes

pyflakes是python的语法检查模块 在windows下可以用pip正常安装 注意如果是python3上安装的话要安装pyflakes3k这个版本 可是在python的scripts文件夹下 只有一个linux的执行版本 其实那只是一个python脚本而已 我们做一个名字为pyflakes.bat的脚本就可以达到同样的效果 内容如下 @echo off rem Use python to execute the python script having the same name as this batch rem file, but without any extension, located in the same directory as this rem batch file python “%~dpn0” %* 对了,这里边的python可以根据你自己的情况 指定绝对路径或者python3之类的 在这样做一番以后 也可以用pyflakes的vim插件了 地址如下https://www.vim.org/scripts/script.php?script_id=2441 按F7可以激活语法检查 在错误窗口上 按q是直接可以退出的哦 方便吧

2012年4月30日 · 1 分钟 · Hyacinthus

安装psycopg2的方法

换了电脑 用pip装psycopg2这个模块的时候 又报一大堆错 一个一个的解决了4步才搞定 其实这些问题以前都遇到过 不过时间太久了 只能又重蹈覆辙一次 还是记下来吧 其实它依赖的就这3个条件 c编译器 postgreSQL的lib postgreSQL的include 在linux上 必须有gcc之类的编译器 然后postgreSQL的lib文件夹加在环境变量LD_LIBRARY_PATH 当然有的系统比如AIX是LIB_PATH postgreSQL的include文件夹加在环境变量C_INCLUDE_PATH里 在windows上 你必须装vs c++ 2008 express版也可以的 当然有人用其他的编译器也可以 不过需要自己下载然后安装这个包 自己加适当的编译参数了 划不来的 还不如下个vs 2008 express pip就可以自己搞定了 在装了vs以后 要把目录添加到PATH里 有时候系统并不会自己添加 我的是C:Program FilesMicrosoft Visual Studio 9.0VC 你不一定是这样 可以自己找找 然后要把 postgreSQL的lib文件夹加在环境变量LIB里 postgreSQL的include文件夹加在环境变量INCLUDE里 这样应该就可以一次成功了… 其实需要编译并且依赖其他软件的包 思路都是如此的

2012年4月30日 · 1 分钟 · Hyacinthus

在vim中查看python文档

众所周知python有个命令是pydoc 可以启动文档服务器 或者直接查看文档 但是有时候在vim中还是懒得再去命令行里或者网页里查文档 于是找到个插件 可以直接在vim中查python文档 https://www.vim.org/scripts/script.php?script_id=910 不过我在gvim中用 不是特别满意 主要因为我习惯把gvim全屏 然后可以纵向分屏左右各显示一个文件 而这个插件会横向分屏显示文档 于是我把它改了改 如果你恰好也是全屏使用gvim 那么这个效果应该还不错 它会在右侧打开一个60宽度的窗口显示doc 文件在这里 https://gist.github.com/2552337 比较常用的功能是把光标停在一个词上 然后按大写的K 这时候就会自动搜索这个的单词的文档 当然也可以用Pydoc命令查询模块文档 和Pydocs命令查询关键字的文档 相当于 pydoc –k vim要求自定义命令必须大写开头 挺烦人的

2012年4月30日 · 1 分钟 · Hyacinthus

python3中的base64

在python3中 base64只能用bytes型了 而一般的文件又都是utf8写的 很不方便 不知道基于什么考虑 所以 tmp=base64.encodestring(‘hello’) 是会报错的 应该是 tmp=base64.encodebytes(b’hello’) 这个encodebytes和encodestring现在是同义词 可能为了兼容以前(这兼容什么啊 肯定不兼容了 就是让方法没消失罢了) 官方建议用bytes 因为逻辑上只能加密bytes数据嘛 解密是 base64.decodebytes(b’aGVsbG8=n’) 会再解成 b’hello’ 另外要注意 加密出来的tmp也是bytes型的啦 要是想要给别人或别的程序 还要再转换成字符串 bytes.decode(tmp) 这样才又是普通的字符串了 不知道为啥官方不让两个string方法输入输出都统一成u8的字串 那多方便…

2012年4月17日 · 1 分钟 · Hyacinthus

wordpress被黑了

话说从上周开始我的博客风如夏花开始被google报有恶意软件 于是chrome和firefox打开都会悲剧 我检查了一圈页面 并没有发现异常 于是很忧愁 总要做点什么 首先我换了空间 从一个虚拟主机换到了我的一个VPS 直接改用nginx做容器 然后换了域名的DNS Server 换成了cloudflare 然后重新提交审核 没用 我又怀疑是cloudflare的问题 关掉CDN功能 提交审核 没用 于是我怀疑我什么地方检查漏了 就又下载了一份最新的wordpress 只把旧的配置和upload文件夹移过来 重新审核 没用 众所周知 google什么都用机器做 根本没人管这些事 所以也完全没地方问 我越来越怀疑google的机制出了什么问题 可经过一个礼拜的煎熬后 才发现google诚不余欺 太厉害了 今天我又在绝望中打开唯一一直存在的文件 wp-config.php看了一下 里边竟然有一段eval()包裹的base64加密代码 不得不说 隐蔽性太强了 首先一般的人访问 页面都一切正常 让人无从怀疑 只有搜索引擎访问的时候它才暴露恶意页面 其次 这个文件很有用 也不会轻易被覆盖掉 最后 它的代码还是加密的 在内容里搜索都搜索不到 现在虽然还没有再次审核我的网站 不过相信很快就会好了 希望遇到同样问题的人能搜到我的这篇文章 我就粘一些中英文的关键词 以便能被搜索到 This site may harm your computer. Google has discovered harmful code on your site and will display a warning to users when they attempt to visit your pages. ...

2012年4月17日 · 1 分钟 · Hyacinthus

linode如何搬机房

我买的时候选择的东京机房 结果买了没多久北京就悲剧了 ping值升到了500多 测试了一下 全国一少半地方很悲剧 但是很多省份却只是100的ping… 但是我自己每天登陆ssh的时候卡的很不爽啊 于是就动了换机房的念头 研究了一下 貌似Dallas是比较合适的 全国的ping比较平均 都在200多 换的过程很简单 在后台的Support里发一个Tickets 就说我这里到Tokyo很慢 要换到Dallas 我半夜发的 人家刚好是白天 刚发一会就有响应了…给我发了邮件 告诉了我新的ip 我到DNS上把域名解析的ip换到新的 然后在页面的管理上出现了一个搬迁的按钮 当然需要先关机 然后一点就好了… 自动开始搬迁 会把你整个硬盘镜像传过去 我的200G传了几十分钟吧 等搬迁完成 就又可以开机使用了 感慨linode服务真是好… 可是 这没多少天 我这里到Dallas又变成400多了 还会丢包… 和以前真是不相上下 在这个国度 搞互联网 真是悲哀 悲哀…

2012年2月13日 · 1 分钟 · Hyacinthus

Debian6创建用户

可能大家会觉得这篇太弱了… 建个用户都要记 我以前一直用的redhat系的那些发行版 用Debian以后很多东西都要摸索 昨天才搞清楚apt-get和aptitude 今天建用户也挺坎坷 用户名用nicky代替吧 首先直接useradd nicky 发现除了用户啥都没有 连用户目录都没有 后来发现如果不自己指定的话 需要useradd –m nicky才会自动在home建目录 然后就是切到新用户以后发现不太对… 和进到aix差不多 不能用tab 不能用退格删除… 太无力了 设置了半天profile 发现完全没用 后来竟然发现…原来用户的默认shell不是bash 需要在root执行 usermod -s /bin/bash nicky 这样才是用bash了 然后 一切就都又熟悉了

2012年2月5日 · 1 分钟 · Hyacinthus

Debian6搭建pptp服务器好简单

换了系统第一件事当然是装pptpd 发现debian真心简单 以前CentOS不能直接用这个 还挺复杂的 先安装 aptitude install pptpd 编辑 /etc/pptpd.conf 去掉这两行的注释 没必要按照网上的换ip段 localip 192.168.0.1 remoteip 192.168.0.234-238 编辑 /etc/ppp/chap-secrets 添加用户 username pptpd password * 分别是 用户名 服务 密码 ip 服务和ip都可以用*代替的 编辑 /etc/sysctl.conf 启用转发 去掉下边这行的注释就好了 net.ipv4.ip_forward = 1 这一步可选 看要不要自定dns 编辑 /etc/ppp/pptpd-options 下面两行本来是注释的 可以打开写上希望的dns ms-dns 8.8.8.8 ms-dns 8.8.4.4 这一步挺必要 设置iptables 编辑 /etc/rc.local 把下面两行添加在exit 0之前就可以 至于为什么 可以参考这篇文章 iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356 ...

2012年2月1日 · 1 分钟 · Hyacinthus

我要投入Debian的怀抱啦

我一直是Redhat系的 公司的服务器用RHEL 自己的服务器用CentOS 桌面环境用Fedora 但是我发现个问题 自己平时最喜欢的就是研究新东西 而且也是版本升级控 CentOS上的东西 版本实在是落后 就算加了EPEL 也没多大改善 很多官方都宣称稳定的版本半年一年了 Yum上也不见有更新 今天看了看Debian的仓库 stable的也有点旧 但是testing的就很新呀 比如我用的python3.2.2 nginx1.1.12 postgreSQL9.1.2之类的 都好新的 我以前就喜欢Debian的logo 用CentOS纯粹是惯性 最近自己编译软件编译烦了 总是少包报错 Debian看来应该能直接更新 可以省出时间研究别的好玩的 另外我在决定前还查了查资料 据说在VPS里Debian和CentOS也是平分秋色的 然后还查了下stackoverflow 见这篇 于是没有什么好犹豫的了 我去装Debian去了…

2012年1月30日 · 1 分钟 · Hyacinthus

CMD下获得所有Windows盘符

对Windows着实不熟 今天查如何用程序获得所有的硬盘找了好一会 排在前列的答案都是不对的 于是写在这里供大家参考 使用管理员模式启动cmd终端 然后fsutil fsinfo drives命令可以列出所有的驱动器 如果只想要硬盘 可以使用fsutil fsinfo drivetype一个一个检查 相关的功能都可以靠命令本身的帮助得到 这还是一个很强大的命令的 相信用了命令 用程序获得返回值然后解析也是很容易的

2011年12月26日 · 1 分钟 · Hyacinthus