20180806
python3安装JayDeBeApi3,即jdbc
jaydebeapi3依赖py4j,如果网速很慢,贼慢,就先手动安装py4j,然后手动安装jaydebeapi3。
下载地址:
https://pan.baidu.com/s/1HA_1W-4vdMqAKRY9JUyO1w
之前本来想方便快捷地安装cx_Oracle,但是我没装oracle client,只能放弃。
测试代码如下,简单明了。但是其中的ojdbc6.jar包有点难找,百度了一圈后来发现自己电脑就有……哈哈哈。
import jaydebeapi
url='jdbc:oracle:thin:@127.0.0.1/orcl'
user='scott'
password='tiger'
dirver='oracle.jdbc.driver.OracleDriver'
jarFile='
E:\\jie\\ojdbc6.jar'
sqlStr='select * from dual'
#conn=jaydebeapi.connect('oracle.jdbc.driver.OracleDriver',['jdbc:oracle:thin:@127.0.0.1/orcl','scott','tiger'],'D:\\MY_TOOLS\\ojdbc6.jar')
conn=jaydebeapi.connect(dirver,[url,user,password],jarFile)
curs = conn.cursor()
curs.execute(sqlStr)
result=curs.fetchall()
print(result)
curs.close()
conn.close()
20180808
生产环境用的是python2.7,JayDeBeApi折腾了一天不能用,只能转战cx_Oracle。
1.下面安装orcal的包
下载如下的几个包,要根据环境下载对应的包!!cx_Oracle-6.0.tar.gz简单省事不用区分版本。
instantclient-basic-linux.x64-12.1.0.2.0.zip
instantclient-sdk-linux.x64-12.1.0.2.0.zip
cx_Oracle-6.0.tar.gz
下载地址:
https://pypi.python.org/pypi/cx_Oracle/
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
或者:https://pan.baidu.com/s/1HA_1W-4vdMqAKRY9JUyO1w
2.安装oracle客户端
在/opt目录下新建oracle目录,把三个文件放入linux的/opt/oracle目录
解压两个zip包,在oracle目录下同时解压就可以了,解压出instantclient_11_2
unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
结果如下
3.配置环境
vim ~/.bashrc
在文件尾部加入:
export ORACLE_HOME=/opt/oracle/instantclient_12_1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
使生效 source ~/.bashrc
4.创建快捷键
进入instantclient_12_1目录,执行以下命令
ln -s libclntsh.so.12.1 libclntsh.so
5.安装cx_Oracle
解压cx_Oracle-6.0.tar.gz,进入解压后的目录,用一下命令安装:
python setup.py install
6.测试
python -c "import cx_Oracle"
报错记录:
>>> connectObj = cx_Oracle.connect('username','password', oracle_tns)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux for help……
>>> connectObj = cx_Oracle.connect('username','password', oracle_tns)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "libmql1.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux for help
这是因为上面第3步的环境配置没有生效,解决方法:
1. 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边
ln -s /where/you/install/lib/*.so /usr/lib
sudo ldconfig
2.修改/etc/ld.so.conf,然后刷新(这种比较简单有效)
vim /etc/ld.so.conf
在文件最后加入:/opt/oracle/instantclient_12_1
sudo ldconfig
可以了。。。
20190228
安装scrapy
前言:安装环境为——win10;python2.7.14;
1 直接pip2 install scrapy
跑了一大截最后提示:error Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27.
好嘛,那就去链接里下载visual c++咯。
重来一次pip2 install scrapy,可以啦,打开python2,import scrapy的时候发现scrapy是独立安装的,emmm……
2 找来示例代码开始python main.py的时候提示:ImportError: No module named win32api
昂………
windows系统上出现这个问题的解决需要安装Py32Win模块,但是直接通过官网链接装exe会出现几百个错误,更方便的做法是
pip2 install pypiwin32