我使用的是第三方pythonapi,它导入了一个库。以下是目录布局:
myproject
|
|--src
| |
| |--mycode.py
|
|--3rdparty
|
|--aardvark_py.py
|--aardvark.dll
|--aardvark.so
aardvak_py.py
包含以下代码:
try:
import aardvark as api
except ImportError, ex1:
import imp, platform
ext = platform.system() in ('Windows', 'Microsoft') and '.dll' or '.so'
try:
api = imp.load_dynamic('aardvark', 'aardvark' + ext)
except ImportError, ex2:
import_err_msg = 'Error importing aardvark%s\n' % ext
import_err_msg += ' Architecture of aardvark%s may be wrong\n' % ext
import_err_msg += '%s\n%s' % (ex1, ex2)
raise ImportError(import_err_msg)
mycode.py
包含以下代码:
import sys
import os
sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)),
'..', '3rdparty'))
import aardvark
由于某些原因,当我运行代码时会触发异常。但是,如果我将aardvark.dll
移动到mycode.py
所在的目录中,一切都正常。有人能解释为什么会发生这种情况吗?有没有一种方法可以将.dll
保存在另一个目录中而不移动它?你知道吗
安装64位python,这似乎是Aardvark的一个没有文档记录的需求。你知道吗
相关问题 更多 >
编程相关推荐