我在mac OS 10.11.16上运行conda 4.4.8,并且我试图正确安装我作为tar.gz文件的第三方软件包。软件包安装似乎没有任何问题(已经尝试安装,这是我再次运行时得到的):
$:pip install~ / Downloads / pydelay-0.1.1.tar.gz
处理〜/ Downloads / pydelay-0.1.1.tar.gz
要求已经满足(使用--upgrade升级):pydelay == 0.1.1 from file://〜/ Downloads / pydelay-0.1.1.tar.gz in / / anaconda3 / lib / python3.6 / site-packages
收集包装的轮子:pydelay
运行setup.py bdist_wheel for pydelay ...完成
存储在目录中:〜/ Library / Caches / pip / wheels / 5d / b7 / 4e / 3896677f80cccebfc2d300904aca54ebbd6b0885cb9440e13d
成功构建了pydelay
然后我会检查以确保没有依赖项缺失:
$:pip check pydelay
未找到损坏的要求。
但是,当我运行使用该包的代码时,出现以下错误:
runfile('〜/.../ DDEin3 + 1D.py',wdir ='〜/... 39;)
回溯(最近一次调用最后一次):文件" ipython-input-16-12e8207a0dca",第1行,in runfile('〜/.../ DDEin3 + 1D.py',wdir ='〜/...')
文件"〜/ anaconda3 / lib / python3.6 / site-packages / spyder / utils / site / sitecustomize.py",第710行,在runfile中 execfile(filename,namespace)
文件"〜/ anaconda3 / lib / python3.6 / site-packages / spyder / utils / site / sitecustomize.py",第101行,在execfile中 exec(compile(f.read(),filename,' exec'),命名空间)
文件"〜/.../ DDEin3 + 1D.py",第18行,中
来自pydelay import dde23文件"〜/ anaconda3 / lib / python3.6 / site-packages / pydelay / __ init __。py",第9行,中
来自_dde23 import dde23ModuleNotFoundError :没有名为' _dde23'
的模块
我不会认为是一个版本问题,但因为the pydelay package is from 2009它很可能是。
任何有关获取spyder编辑器(或命令行python)以查找此包的帮助都将非常感谢!
答案 0 :(得分:0)
万一有人碰到这样的事情,我想我会发布解决方案。在这个例子中,__ init__.py文件正在搜索我的默认PATH中的_dde23,它实际上与__init__.py位于同一目录中。解决方案只是将__init__.py中的导入调用更改为
来自._dde23 import dde23
这告诉文件在模块的同一目录中查找。我在整个软件包中发现了类似的问题,通过这个小小的改变解决了所有问题。我不是专家,但是当我运行python3.x时,它可能与使用python2.x构建的 pydelay 有关。
当然,让这个模块的其他部分与折旧的依赖关系一起工作是另一回事;)