转:脱机环境下window使⽤pycharm连接cx_oracle连接数据库
#sample 1 Python 2,7 已经安装,可以正常跑,但是cx_oracle windows 版本下载下来,⽆法安装
1.现在现在版本 cx_Oracle-5.3-11g.win-amd64-py
2.7(321.4 kB) 是5.3 版本,配套oracle 11g client ,配置windos 64 位的
2,安装报错如下:
使⽤这个⽅法可以⼿⼯注册注册表,正常执⾏安装
#sample2 pycharm  创建⼀个Project 的虚拟环境时候hang 住3分钟,
因为是脱机环境,可能不能同步数据,可以考虑中断。
然后打开现有的⽬录,即可
#sample3 pycharm  需要⼿⼯配置解释器
Pycharm配置(1)——解释器(interpreter)
参考⽂档
今天导⼊模块,发现出了很多错,要升级pip,但是我发现在新建的⼯程项⽬(PycharmIDE)中有pip,⽽我安装的Python3中,也有pip ,那我升级哪⼀个呢?
1、⾸先,遇到的问题是:已经安装python,dos窗⼝却提⽰“python不是内部命令或外部命令,也不是可运⾏的程序”
解决⽅案:点击打开链接
2、发现两者都是⼀样的,都是解释器(Project Interpreter)的问题
(1)什么是解释器
先说⼀下,什么是解释器,Python的解释器就是,是⽤来解释运⾏你编写的Python代码的,我们下载的Python(⽆论是2版本,还是3版本)其实⾃带解释器和编译器,可以直接在命令⾏敲⼊代码,或者写⼀个⽂本,然后调⽤Python的解释器来执⾏也可以,⽽Pycharm则是⼀个IDE(主要是让我们编写程序更加⽅便,或者说看起来更加简单,不需要⽤⽂本或在dos窗⼝编写代码),但是Pycharm是不带Python解释器的,所以你要在安装Pycharm之前,安装好Python。
上图是我的pycharm运⾏所需要的外部库:所在位置是⼀个项⽬⽂件中(注意:我的Python3安装位置是D:\\Python),然后我检查了⼀下Pycharm的运⾏环境:File ——>Setting
上⾯列出的这个图,其实的是我的项⽬⽂件Python编程所需要的项⽬解释器(Project Interpreter)在哪⾥,其配置是什么,可以看出,它的解释器就在项⽬⽂件下,⽽不是我安装的D盘中的Python3,那么我就要问了,既然创建项⽬的时候就有,我还安装Python3⼲什么?
原来这个问题,我之前遇到了(⼤约刚安装好Pycharm的时候吧),当时是这个问题:
⼀开始创建项⽬的时候,运⾏第⼀⾏代码,貌似是没有配置解释器的,那我当时是怎么配置呢?
还是上⾯的File——>Setting——>show all(在project Interpreter选项⾥⾯),点开以后得到:
点击加号,进⾏添加(我们看看这个配置的解释器和D盘⾥⾯的Python3有什么关系):点击加号以后,会有两个选项,⼀个是add Local Python Interpreter(这个其实就是你D盘⾥⾯的Python3,也就是本地的解释器),第⼆个是add remote Python interpreter,也就是远程的解释器(不在你的本地机器上,但是你可以远程访问它)
看到这个选项没有,这⾥说是虚拟环境,也就是说这是⼀个虚拟解释器,它是建⽴在D盘⾥⾯的Python解释器(第⼆个圆圈)基础之上的,这⾥的虚拟解释器在我理解来看,其实和缓存差不多,将
要⽤到的东西放到项⽬⽂件夹中,⽤到的时候,直接调⽤邻近的,这样速度快,如果没有了,再去原解释器(D盘中),寻需要的东西。
在⽹上了⼀下关于解释器配置的⼏种不同说明,可以参考⼀下:pycharm下基于Virtualenvwrapper和anaconda的Python虚拟环境配置应⽤
上⾯提到这种虚拟环境,其实是起到隔离不同版本的Python的效果,virtualenv和conda是两种不同的虚拟隔离环境,当然这些我暂时还没有⽤到,就先不介绍
了,conda⽤到的是Anaconda
(2)虚拟与基本解释器是否同步?
所以说⼀切的基础还是在D盘中的Python中,但是两者是同步的吗?
答案是不同步的,我在D盘的Python中安装了numpy模块,但是⽤虚拟解释器依然报错,只有在虚拟解释器(也就是你解释器的环境下,执⾏pip install才可以),再次更新⼀下,两者虽然是不同步的,但是更新下载的时候,只要D盘根解释器已经下载过了,那么虚拟环境中,就不需要联⽹下载了,可以直接复制D盘的模块,如下图:
上图,是我在D盘Python中下载numpy是,要联⽹下载关于numpy模块的包,但是我的虚拟解释器那边没有进⾏更新,但是我在虚拟解释器中下载安装numpy的时候,
如上图所⽰,没有下载⽂件,我猜测是直接复制粘贴的D盘中的内容
建议以后先在D盘的Python(我的base interpreter所在位置)安装模块,然后再在虚拟环境中安装,这样以后虚拟环境发⽣了改变,也可以快速再次安装
####sample 4;
cx_Oracle 连接测试,参考⽂档
# -*- coding:utf-8 -*-
import cx_Oracle
db = t('dbmgr', 'dbmgr', '10.241.131.126:1521/pcrs')
# db = t('C##oracle', 'oracle', '192.168.106.100:1521/orcl')
cursor=db.cursor()
# sql="SELECT COLUMN1, COLUMN2 FROM C##ORACLE.NEWTABLE"
sql="select du.username,su.password,du.profile,du.account_status \
from dba_users du,sys.user$ su \
where du.username in (select username from sys.t_user_cfg) \
and du.username = su.name"
result = cursor.fetchall()
for i in result:
print(i)
cursor.close();
db.close();
###
cx-oracle-lob 读取,for x 后⾯加⼊,
There should be an extra comma in the for loop, see in below code, i have supplied an extra comma after x in for loop.
dsn = cx_Oracle.makedsn(hostname, port, sid)
orcl = t(username + '/' + password + '@' + dsn)
curs = orcl.cursor()
sql = "select TEMPLATE from my_table where id ='6'"
rows = curs.fetchall()
for x, in rows:
print(x)
Share
Edit
Follow
Flag
##sample 2:cx_Oracle模块学习之绑定变量
where department_id=:id and
department_name=:name
''',id=dept_id,name=dept_name
)
values(:ID,:NAME,:MGR_ID,:LOC_ID)
''', {'ID':555,'NAME':'WaterBin','MGR_ID':110,'LOC_ID':7788}
)
t = ('275', '54000', '0.0', '5000.0', '0.0')
lst = list(t)
lst[0] = '300'
t = tuple(lst)
深⼊理解Python变量与赋值
>>sample 1
# 打开新⽂件
f_new = io.open('file_','w',encoding='utf-8')
# 循环读取旧⽂件
for line in f:
# 进⾏判断
if "Good day is good day" in line:
line = place('Good day is good day','hello,yanyan')
# 如果不符合就正常的将⽂件中的内容读取并且输出到新⽂件中
f_new.write(line)
f.close()
f_new.close()
>##
(⼀般来说,pycharm 的项⽬的可执⾏环境⼀般在 venv\scrips ⽬录下,)
cd e:\\test_py\magic_box\venv\Scripts>
pip install E:\\test_py\magic_box\package\PyMySQL-0.9.0-py2.py3-none-any.whl
or
python E:\\test_py\magic_box\package\PyMySQL-0.9.0\PyMySQL-0.9.0\setup.py install
cd E:\\test_py\magic_box\package\PyMySQL-0.9.0\PyMySQL-0.9.0
根据输出⽇志,安装顺序如下,依次安装每个补丁:
Installing collected packages: enum34, asn1crypto, pycparser, cffi, idna, ipaddress, cryptography, pymysql
实际安装步骤如下:
(切换到 pip 路径,执⾏按安装)
cd e:\\test_py\magic_box\venv\Scripts>
pip install E:\\test_py\magic_box\package\PyMySQL-0.9.0\asn1crypto-1.4.0-py2.py3-none-any.whl
pip install E:\\test_py\magic_box\package\PyMySQL-0.9.0\six-1.16.0-py2.py3-none-any.whl
pip install E:\\test_py\magic_box\package\PyMySQL-0.9.0\enum34-1.1.10-py2-none-any.whl
pip install E:\\test_py\magic_box\package\PyMySQL-0.9.0\pycparser-2.20-py2.py3-none-any.whl
pip install E:\\test_py\magic_box\package\PyMySQL-0.9.0\cffi-1.14.5-cp27-cp27m-win_amd64.whl
pip install E:\\test_py\magic_box\package\PyMySQL-0.9.0\idna-2.10-py2.py3-none-any.whl
pip install E:\\test_py\magic_box\package\PyMySQL-0.9.0\ipaddress-1.0.23-py2.py3-none-any.whl
pip install E:\\test_py\magic_box\package\PyMySQL-0.9.0\cryptography-2.6-cp27-cp27m-win_amd64.whl pip install E:\\test_py\magic_box\package\PyMySQL-0.9.0-py2.py3-none-any.whl
#
###sample 1  python print 中⽂
解决pycharm中中⽂列表输出'\xe5\xa4\xa7\xe8\x92\x9c'之类的字符串
wqy94103 2017-08-09 20:42:29 19850 收藏 7
分类专栏: python ⽂章标签: python
版权
#coding=utf-8
member=["贝贝","晶晶","欢欢"]
print(member)
print("北京欢迎您!")
1
2
3
4
如上代码块,结果输出为:
[‘\xe8\xb4\x9d\xe8\xb4\x9d’, ‘\xe6\x99\xb6\xe6\x99\xb6’, ‘\xe6\xac\xa2\xe6\xac\xa2’]
该怎么解决以上pycharm中的中⽂列表输出的编码问题呢?
##sample  2 python 变量 %c %s 的区别
符号
描述
%c
格式化字符及其ASCII码
%s
格式化字符串
%d
格式化整数
%u
格式化⽆符号整型
%o
格式化⽆符号⼋进制数
%x
格式化⽆符号⼗六进制数
%X
格式化⽆符号⼗六进制数(⼤写)
%f
格式化浮点数字,可指定⼩数点后的精度如:%.2f
%e
⽤科学计数法格式化浮点数
%E
作⽤同%e,⽤科学计数法格式化浮点数
%g
%f和%e的简写
%G
%f 和 %E 的简写
%p
⽤⼗六进制数格式化变量的地址
'%c'%65:输出ASII码65对应的字符,对应的是'A'“%c”是占位符的⼀种,还有%s %d 等等mysql下载什么版本的
%c指的是字符及其ASCII码
65的ASCII码就是A

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论