我在使用 Python 导入 cx_Oracle 时遇到问题。我知道这里讨论了很多关于 cx_Oracle 的问题,但在阅读了所有相关主题后,我似乎找不到解决我的问题的方法。
我有两台机器,一台是我的电脑,另一台是远程工作站,它们具有相似的配置(Windows 7,64 位)。我需要在远程工作站上安装 cx_Oracle 但它不起作用,而它在我的计算机上运行良好(我可以成功导入模块并连接到我的数据库)。在远程工作站上,我有以下错误:
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import cx_Oracle
ImportError: DLL load failed: The specified module could not be found.
我仔细检查了我的环境变量,并重新安装了几次 cx_Oracle,但我无法让它工作...我对这个问题做了一些研究,但我有点卡在这里,我不知道理解为什么它在我的电脑上运行良好,但在这个远程工作站上却不行(唯一的区别是这个远程工作站是一个虚拟机)。
有没有人知道可能是什么问题?
在 cx_oracle.pyd 上运行 Dependancy Walker(在我的计算机上它工作正常,在远程工作站上 cx_oracle 不工作),唯一的区别是在我的远程工作站上找不到的 dll MSVCR100 amd MSVCR90。
我有以下环境变量设置:
C:\Oracle 作为 ORACLE_BASE
C:\Oracle\instantclient_12_1 作为 ORACLE_HOME
C:\Oracle\instantclient_12_1 添加到“Path”变量
两台机器都是 64 位,Windows 7
我正在运行 Python 2.7.5
我在 C:\Oracle\instantclient_12_1 中解压了 instantclient-basic-nt-12.1.0.1.0
我安装了cx_Oracle-5.1.2-11g.win32-py2.7s
在远程工作站上,sys.path 给我:
'C:\Python27\Lib\idlelib', 'C:\Windows\system32\python27.zip', 'C:\Python27\DLLs', 'C:\Python27\lib', 'C:\Python27\lib\plat-win', 'C:\Python27\lib\lib-tk', 'C:\Python27', 'C:\Python27\lib\site-packages'
在上一篇文章中,所有文件(Python 2.7、cx_Oracle 程序包、Oracle Instant 客户端)均适用于 32 位系统。 我为 64 位系统下载了相同版本的这些文件,现在我的远程工作站上一切正常。
基本上,修复包括为 64 位系统而不是 32 位系统重新安装所有内容(Python、Oracle Instant Client 和 cx_Oracle)。
总而言之,这是我的问题以及它是如何解决的: 1) 我安装了 Cx_Oracle(来自 32 位 Windows 安装包)和 Oracle Instant Client(32 位),它在我的 64 位系统上运行 python 2.7.5 for 32 位系统时运行良好 2) 我在虚拟机(也运行 64 位系统)上做了同样的事情,但它不工作 3) 为了让它在 VM 上运行,我重新安装了 64 位系统的所有内容(python、Instant Client、Cx_Oracle),它终于运行了
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html http://sourceforge.net/projects/cx-oracle/files/5.1.2/
此外,确保下载与您的数据库版本(在我的例子中为 11g)对应的 cx_Oracle 和 Instant 客户端。 希望这会有所帮助。
最佳答案
我在 win 7 和 python35(64 位)上运行 Oracle Express。
这就是我如何让我的 django-1.9 连接到 oracle。
使用 pip 安装 cx_Oracle (pip3 install cx_Oracle),而不是从 pypi 网站下载 msi。
从 ( http://www.oracle.com/technetwork/topics/winx64soft-089540.html ) 下载 Oracle 即时客户端 64 位版本并解压缩到 c:\oraclexe(只是为了将所有 oracle 的东西放在一个地方)
创建以下环境变量:
设置 ORACLE_BASE=C:\oraclex
设置 ORACLE_HOME=C:\oraniclexe\app\oracle\product\11.2.0\server
设置 PATH=C:\oraclexe\instantclient_11_2;%PATH%
更新了我的 django settings.py
数据库 = {
'默认':{
'引擎':'django.db.backends.oracle'
'名称':'XE',
'用户':'小时',
'密码':'小时',
'主机':'本地主机',
'端口':'1521',
},
}
而已。之后,我的 django 迁移工作正常
关于python - cx_Oracle - DLL 加载失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24124110/
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende
我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r
如何在ruby中调用C#dll? 最佳答案 我能想到几种可能性:为您的DLL编写(或找人编写)一个COM包装器,如果它还没有,则使用Ruby的WIN32OLE库来调用它;看看RubyCLR,其中一位作者是JohnLam,他继续在Microsoft从事IronRuby方面的工作。(估计不会再维护了,可能不支持.Net2.0以上的版本);正如其他地方已经提到的,看看使用IronRuby,如果这是您的技术选择。有一个主题是here.请注意,最后一篇文章实际上来自JohnLam(看起来像是2009年3月),他似乎很自在地断言RubyCL
我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的