【问题标题】:python module not working in PyCharm with virtualenvpython模块在带有virtualenv的PyCharm中不起作用
【发布时间】:2015-03-29 06:38:12
【问题描述】:

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

我有一个 python 脚本,它使用了来自 cx_Oracle 的几个命令,比如 connect 等。

在运行我的脚本时,我认为激活的 env (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 终端来运行和调试,这真的很烦人。有人知道这里可能是什么问题吗?

【问题讨论】:

  • 您能否发布一个项目的 Python 解释器设置的屏幕截图?问题很可能就在那里。
  • 可能是因为你引用了错误的解释器。

标签: python virtualenv pycharm cx-oracle virtualenvwrapper


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 顺便说一句,我向 PyCharm 员工发送了有关此错误的电子邮件,但他们说这是 Python 的错误,而不是 PyCharm,这让我发笑,因为在 PyCharm 之外一切正常。
    【解决方案3】:
    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'
    

    【讨论】:

    • OSX 10.10版本以上,操作系统环境变量设置发生了变化,导致pycharm无法读取,临时解决方法同上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 2016-10-21
    • 2015-01-27
    • 2015-11-07
    • 1970-01-01
    相关资源
    最近更新 更多