繁体   English   中英

python模块无法使用virtualenv在PyCharm中工作

[英]python module not working in PyCharm with virtualenv

目前我有一个virtualenv创建与virtualenvwrapper。 在那个virtualenv我用pip install cx_Oracle安装了cx_Oracle扩展。

我有一个python脚本使用cx_Oracle中的几个命令,如connect等。

在运行我的脚本时认为激活的env(python script.py)它工作正常并且不会产生错误。

但是当我尝试在PyCharm 4中运行相同的脚本时,它不起作用。 我选择了intrepeter的virtualenv。 运行脚本时,我收到如下错误:

/Users/pgerrits/.virtualenvs/siebelaudit/bin/python3.4 -u /Applications/PyCharm.app/Contents/helpers/pydev/pydev_run_in_console.py 64420 64421 /Users/pgerrits/PycharmProjects/SiebelAudit/Audit/Siebel Audit/scratchpad.py
Running /Users/pgerrits/PycharmProjects/SiebelAudit/Audit/Siebel Audit/scratchpad.py
PyDev console: starting.    
ImportError: dlopen(/Users/pgerrits/.virtualenvs/siebelaudit/lib/python3.4/site-packages/cx_Oracle.so, 2): Library not loaded: /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1
      Referenced from: /Users/pgerrits/.virtualenvs/siebelaudit/lib/python3.4/site-packages/cx_Oracle.so
      Reason: image not found

在env激活的终端中使用相同的命令运行相同的脚本时,我没有收到任何错误。

我已经尝试了以下内容: - 使用脚本添加了用于oracle_home等的ENV变量 - 使用pycharm env变量选项添加了env变量

我必须切换到我的mac终端进行运行和调试,这真烦人。 有谁知道这里可能出现什么问题?

我必须为ORACLE_HOME DYLD_LIBRARY_PATHLD_LIBRARY_PATH设置环境变量,并重新启动PyCharm以使cx_Oracle工作。

环境变量

设置变量

这是PyCharm的一个已知问题。 唯一的方法是使用PyCharm创建virtualenv。 如果使用virtualenvwrpper创建,PyCharm可能无法识别它。

import os
import platform

if platform.system() == 'Darwin':
    os.environ["ORACLE_HOME"] = '/opt/oracle/instantclient_11_2'
    os.environ["DYLD_LIBRARY_PATH"] = '/opt/oracle/instantclient_11_2'
    os.environ["LD_LIBRARY_PATH"] = '/opt/oracle/instantclient_11_2'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM