Python-Sybase on Windows 7 Python 2.7 32 位

Python-Sybase on Windows 7 Python 2.7 32bit

我正在尝试在 windows 上构建 python-sybase,但收效甚微。

我已按照 sybase module homepage 上的说明进行操作,但仍然遇到错误。我尝试了以下方法:

  1. 下载并解压python-sybase (python-sybase-0.40pre2)

Visual Studio (2013)

  1. 打开Visual Studio命令提示符Shell
  2. 覆盖 VS90COMNTOOLS 中的路径以防止 Visual Studio 版本错误(SET VS90COMNTOOLS=%VS120COMNTOOLS% )
  3. 运行 python setup.py 安装。

这两种方法似乎都有效并产生相同的结果。我看到的唯一警告是来自 setuptools.py 的 'Normalizing' 警告:

C:\Users\XXXX\AppData\Local\Continuum\Anaconda\lib\site-packages\setuptools-15.2-py2.7.egg\setuptools\dist.py:282: UserWarning: Normalizing '0.40pre2' to '0.40rc2'

我在尝试 运行:

时看到的错误消息
import Sybase

是:

import Sybase
Traceback (most recent call last):

File "<ipython-input-1-3cf190f37cd0>", line 1, in <module>
    import Sybase

File "build\bdist.win32\egg\Sybase.py", line 317, in <module>

InternalError

Sybase.py(第 317 行)中代码失败的部分是:

# Setup global library context
status, _ctx = cs_ctx_alloc()
if status != CS_SUCCEED:
    raise InternalError('cs_ctx_alloc failed')

任何 help/suggestions 将不胜感激!

Infocenter.sybase

基本上错误是由于 \locales\locales.dat 文件中针对目标 OS 的 incorrect/missing 配置信息,根据上面的 link:

'The most common reason for a cs_ctx_alloc failure is a misconfigured system environment. cs_ctx_alloc must read the locales file that specifies the default localization values for the allocated context. If CS-Library cannot find the locales file or if the locales file is misconfigured, cs_ctx_alloc fails.'

我错过了 sybinit.err 文件,该文件非常有用,可以节省很多时间!

*'上下文分配例程在尝试加载本地化文件时失败!! 以下一个或多个问题可能导致失败

您的 sybase 主目录是 C:\Program Files\Sybase。检查环境变量SYBASE 是否不是你想要的! 使用在环境变量 LANG 中定义的语言环境名称 "en_GB" 语言环境名称 "en_GB" 在您的 C:\Program Files\Sybase\locales\locales.dat 文件中不存在'*

将 LANG 环境变量更改为 'enu' 或编辑 .dat 文件更正了此问题。