Showing posts with label Mac os x. Show all posts
Showing posts with label Mac os x. Show all posts

Saturday, December 15, 2012

mac os x自带vim的那些事

 刚接触mac os x,也刚接触vim 。想整个Python的开发环境,但是发现网上找的VIM配置文件.vimrc在~目录下没有,全局配置文件/etc/vimrc也没有,很奇怪。google了老半天总于找到原因了,原来mac os x默认安装的vim在/usr/share/vim下,vimrc配置文件也在这里,你可以直接将这个配置文件复制到~/.vimrc下进行配置。

mac os x 默认安装了许多插件:/usr/share/vim/vim73/plugin/
语法支持:/usr/share/vim/vim73/syntax/

原文地址:http://ruby-china.org/topics/4905
其他vim相关配置:http://www.cnblogs.com/chijianqiang/archive/2012/10/31/vim-2.html
vim插件:http://www.vimer.cn/2010/06/%E6%9C%AC%E5%8D%9A%E4%BD%BF%E7%94%A8%E7%9A%84vimgvim%E7%9B%B8%E5%85%B3%E6%8F%92%E4%BB%B6%E6%95%B4%E7%90%86.html
插件pathogen管理:http://lostjs.com/2012/02/04/use-pathogen-and-git-to-manage-vimfiles/
插件FuzzyFinder介绍:http://rickey-nctu.blogspot.com/2009/02/vim-fuzzyfinder.html

Saturday, December 1, 2012

pyodbc在mac os x上连接sqlite3的配置

pyodbc在mac os x上连接sqlite3的配置

其实python上有直接的sqlite3连接库,但是因为开发的产品还需要连接sql server需要统一采用pyodbc进行数据库交换。

在mac os x上配置odbc和linux差不多,总得来说比windows 麻烦多了。
先说说需要的东西:
1、pyodbc只是一个python库,实现了python对odbc的调用,但真正的odbc连接需要有odbc驱动进行,常见的有:unixODBC、iODBC等。因为在mac os x直接有图形界面的ODBC Administrator使用,所以我就直接安装ODBC Administrator,注意好像早期的版本是自带这个工具的,但我的系统版本是10.8的需要自己到苹果的网站上下载安装安装地址:http://support.apple.com/kb/DL895
2、sqlite3最初安装只支持最基本的程序调用不提供odbc连接,所以需要另行下载odbc的驱动,地址:http://www.ch-werner.de/sqliteodbc/ 这里有几个版本,根据自己的需要选择。因为只支持到10.7所以我使用的版本是:sqlite3-odbc-0.93.dmg

pyodbc直接使用eszy_install或者pip进行安装就行了,如果在安装过程中报
我的安装方法是:
1、安装setuptool,下载地址:http://pypi.python.org/pypi/setuptools
2、安装pip,安装方法:eszy_install pip
3、安装pyodbc,安装方法:pip install pyodbc
     我使用pip在安装pyodbc的时候碰到了一个错误:clong报的文件或目录没有找到,如果碰到这个问题是因为pip需要使用clong来进行编译而clong在早期是集成在xcode中的,但现在新版本需要自己在xcode中安装。安装方法:xode -> Preferences -> Downloads 直接安装Components中的Command line tools就行了。
4、下载安装sqlite3-odbc,直接进行安装就可以了,安装完会在/usr/lib/下生成一个libsqlite3odbc-0.93.dylib文件,这里的文件名可能因为版本有点差异。但一定好记得前缀是libsqlite3odbc,因为被参考文章1的辅导一直使用/usr/local/lib下的文件libsqlite3.dylib进行配置导致走了很多弯路。
5、下载安装ODBC Administrator,安装完后在Applications目录下打开该工具进行配置。
    配置方式:
    1)配置驱动,切换到Drivers标签下点击Add添加新驱动,Description填写驱动名称,如:sqliteodbc,Driver和Setup File都填入/usr/lib/libsqlite3odbc-0.93.dylib(文件名可能因为版本不一样有差异)。单击OK保存。
    2)  在终端下使用sqlite3 test.db创建一个库,假设路径为:/tmp/test.db
    3)  回到ODBC Administrator,在User DSN下点击添加选择第1步创建的Driver sqliteodbc,然后在DSN中输入进行odbc连接的名称,如:testdb,Description根据需要进行描述,接着点击左下角的Add按键添加一个键值对Key/Value,在Key中填入:Database,在Values中填入db文件的路径,我们这个例子是: /tmp/test.db()。点击OK保存后点击Apply。这些配置完后我们可以使用终端在~/Library/ODBC目录下看到两个文件:odbc.ini和odbcinst.ini,这两个配置文件保存的就是我们之前配置ODBC信息。

6、到这里ODBC已经算配置完成了,接下来可以进行连接验证
先为sqlite3准备数据:

$sqlite3 test.db
SQLite version 3.7.12 2012-04-03 19:43:07
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .databases
seq name file
--- --------------- ----------------------------------------------------------
0 main /Users/trams/test.db
sqlite> .tables
sqlite> create table test(id int, name varchar(50));
sqlite> insert into test(id, name) values(1, 'myname');
sqlite> select * from test;
1|myname
sqlite> .mode columns
sqlite> .header on
sqlite> select * from test;
id name
---------- ----------
1 myname
sqlite>


下面使用ipython进行连接测试(ipython可通过pip进行安装:pip install ipython)
In [4]: import pyodbc
In [5]: conn = pyodbc.connect("DSN=testdb")
In [6]: cursor = conn.cursor()
In [7]: print cursor
<pyodbc.Cursor object at 0x10df0bf30>
In [8]: result = cursor.execute("select * from test")
In [9]: for i in result.fetchall():
....: print i
....:
(1, 'myname')
In [10]:


OK!看到结果了。。希望上面写的东西对大家有帮助。


参考文章:
Connecting to sqlite database via ODBC on OS X: http://www.islandjohn.com/2009/02/13/connecting-to-an-sqlite-database-via-odbc-on-os-x/
sqlite3 odbc的配置:http://www.ch-werner.de/sqliteodbc/html/index.html
Pyodbc connect to sqlite odbc: http://billyjin.kodingen.com/punbb-1.3.4/viewtopic.php?id=377