目前我有一个使用 virtualenvwrapper 创建的 virtualenv。在那个 virtualenv 中,我使用 pip install cx_Oracle 安装了 cx_Oracle 扩展。
我有一个 python 脚本,它使用来自 cx_Oracle 的多个命令,如连接等。
当运行我的脚本时认为激活的环境 (python script.py) 它工作正常并且没有产生错误。
但是当我尝试在 PyCharm 4 中运行相同的脚本时,它不起作用。我选择了 virtualenv 作为 intrepeter。运行脚本时出现如下错误:
/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 环境变量选项添加了环境变量
真烦人,我必须切换到我的 mac 终端才能运行和调试。有没有人知道这里可能是什么问题?
最佳答案
我必须为 ORACLE_HOME
设置环境变量
DYLD_LIBRARY_PATH
和 LD_LIBRARY_PATH
并重新启动 PyCharm 以使 cx_Oracle 正常工作。
关于python 模块不能在 PyCharm 中使用 virtualenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28224840/