想研究一下virtualenv是怎样保证python运行环境独立的。库里边带了几个二进制,导致clone源代码的时候发现库好大啊,当时就祈祷源码不要太多。 目录结构 大体看了一下文件目录,主要文件就一个virtualenv.py。(也确实安装完就这一个文件) bin/rebuild-script.py这个文件是用来构建新的virtualenv.py文件的。 virtualenv_embedded 文件夹里边的文件是 生成虚拟环境后的脚本,但不是最终版的。上边构建文件将这几个文件插入virtualenv.py virtualenv_support 几个二进制库 创建一个环境 $ virtualenv ENV 从virtualevn main()入手,2000多行。前边解析参数,extend_parser和adjust_options可以自定义修改参数,目的应该是可以使创建环境的命令简单。after_install是环境创建完成后执行,可以做一些基础包的安装等操作。我猜virtualenvwrapper应该会对这几个函数定义。 --python参数可以指定解析

Continue

用select2 支持搜索,value是拼音,文本是汉字。发现经常不知道输入什么,于是想支持两种方式。官方提供了方法。 <pre lang="javascript"> function myMatcher(term, text, option) { return text.toUpperCase().indexOf(term.toUpperCase()) >= 0 || option.id.toUpperCase().indexOf(term.toUpperCase())>=0; } $(document).ready(function() { $.fn.select2.amd.require(['select2/compat/matcher'], function (oldMatcher) { $("#id_dev_user").select2({ matcher: oldMatcher(myMatcher), placeholder: "选择人员", allowClear: true }) }); }); </p

Continue

virtualbox虚拟机硬盘容量不够用了,之前就分了10g。 &gt;&gt; VBoxManage list hdds UUID:           c9daba2d-b089-4d40-aea8-c0566466dd3e Parent UUID:    base State:          created Type:           normal (base) Location:       /Users/0x55aa/VirtualBox VMs/debian/debian.vdi Storage format: VDI Capacity:       8192 MBytes Encryption:     disabled &nbsp; &gt;&gt; VBoxManage modifyhd /Users/0x55aa/VirtualBox\ VMs/debian/debian.vdi  --resize 25600 0%...10%...20%...30%...40%...50%...60%...70%...80%...9

Continue

只是为了保持和线上的环境一致,默认启动的用户是jenkins 修改/etc/default/jenkins配置文件 JENKINS_USER="sysop" JENKINS_GROUP="sysop" 更改jenkins目录权限 <pre>chown -R sysop:sysop /var/lib/jenkins chown -R sysop:sysop /var/cache/jenkins chown -R sysop:sysop /var/log/jenkins <pre>sudo /etc/init.d/jenkins restart</pre> 直接执行名利好像没反应,我重新启动虚拟机就好了</pre>

Continue

java有一个jstat 可以查看gc的情况等数据。可以看一下如何注入python进程获取gc每一代的次数。主要使用gdb 首先ps找一个python进程的pid。 ps aux| grep python 1264 &nbsp; 然后执行 gdb -p 1264 -batch -eval-command='call PyGILState_Ensure()' -eval-command='call PyRun_SimpleString("exec(\"import gc\\nprint(gc.get_count())\")")' -eval-command='call PyGILState_Release($1)' 你会发现 1264启动日志输出一个元祖(492, 8, 0),分别代表每一代gc的次数。 同样也可以进行手动gc,或者查看线程数等操作。或者执行任意代码。 &nbsp;

Continue

Spark也是一个集群计算系统,提供Python,Java,Scala,R语言的高级API进行数据操作。Spark有各种优点,请自行搜索。 一、下载安装spark 下载编译好的二进制版本,目前还用不到hadoop选择第一个安装。 wget http://mirrors.cnnic.cn/apache/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz 解压 tar zxvf spark-1.5.2-bin-hadoop2.6.tgz 使用默认参数进入python交互模式。启动参数可以指定Spark集群的地址,处理的线程数等值。 park-1.5.2-bin-hadoop2.6/bin/pyspark 交互模式下,Spark会默认给你启动一个SparkContext,名字为sc。你可以执行以下命令查看版本和应用名字。 &gt;&gt;&gt; sc.version u'1.5.2' &gt;&gt;&gt; sc.appName u'PySparkShell' 二、分析nginx log文件 在交

Continue

查了两三遍了,整理一下记录着。svn好像不能统一记录,因为有的文件夹不一样,不能统一写匹配模式。现在只是每个文件夹添加 设置使用的编辑器: export SVN_EDITOR=/usr/bin/vim &nbsp; 忽略的文件必须不在版本控制里,add上的还要reset掉才行 svn propedit svn:ignore 文件夹名 svn propget svn:ignore .

Continue

从官网下载了一个mac下的二进制,解压,然后把目录添加到path里边,搞定 node -v查看版本v0.12.7 npm  -v 2.11.3 可以直接输入node进入交互模式,按两次ctrl-c退出 &nbsp; 然后复制官方example,保存为main.js。node main.js成功

Continue

每一列数据使用'\t'分隔,每一行用'\r'分隔。纯数字的太长或零开头,使用引号引起来并使用单引号开头。导出的excel文件后缀为'.xls'。

Continue

之前就发现mac下没这功能,一直没找问题,现在面板用起来不方便。找了一下解决问题。 方法: 进入about:config 右键新建整数键<code>accessibility.tabfocus,输入值7.然后就行了</code> &nbsp; 不知道为什么只有mac下没有这个功能。 1是文本编辑框 2是除了文本编辑框其他的表单 3是a标签和img标签 其他是上边几个功能的组合之和

Continue