我正在设置一个我在其他Windows 10计算机上运行的网站服务器,它使用ODBC
连接到64位。accdb database
(64位Python,64 Bit pywin32-220.win-amd64-py3.5
, 64位访问)但遇到了一个问题,我认为这与最初设置为32位Office的机器有关。从apache Web服务器运行脚本时,import odbc.pyd
在PC上失败。从Python shell中运行脚本可以正常工作。我认为这是一个dll依赖,在Python环境中是可以的,但是当Apache不在外部托管时。我尝试卸载所有办公组件。仅安装了MS Access Runtime组件和各种可视化C ++可再发行组件。我也没有错误地运行mt.exe -inputresource:C:\python35\ python35.dll;#2 -outputresource:odbc.pyd
,但我怀疑我需要注册一些dll。
import odbc ImportError
我还注意到Microsoft Access Runtime 2016和Python 3.5 pywin32-220都显示" Unavailable"在Windows 10"应用程序和功能"
更新:
我在Dependency Walker
上运行了odbc.pyd
。它返回了很多"系统找不到指定的文件"对于API-MS-WIN-CORE
dll' s。我做了一个文件搜索,找到了我复制到与odbc.pyd
相同的目录中的dll,然后重新运行了依赖步行器,它找到了这些文件,但显示为"未绑定"
同样安装了Windows Software Development Kit (SDK) for Windows 10
,因为这个包中包含了很多引用的dll。
我还在我的工作开发机器上运行了Dependency Walker并得到了同样缺少的dll,所以我认为Dependency Walker可能是一个死胡同。