使用pip

时间:2018-01-28 22:01:22

标签: python-3.x

我在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 dde23

     

ModuleNotFoundError :没有名为' _dde23'

的模块

我不会认为是一个版本问题,但因为the pydelay package is from 2009它很可能是。

任何有关获取spyder编辑器(或命令行python)以查找此包的帮助都将非常感谢!

1 个答案:

答案 0 :(得分:0)

万一有人碰到这样的事情,我想我会发布解决方案。在这个例子中,__ init__.py文件正在搜索我的默认PATH中的_dde23,它实际上与__init__.py位于同一目录中。解决方案只是将__init__.py中的导入调用更改为

  

来自._dde23 import dde23

这告诉文件在模块的同一目录中查找。我在整个软件包中发现了类似的问题,通过这个小小的改变解决了所有问题。我不是专家,但是当我运行python3.x时,它可能与使用python2.x构建的 pydelay 有关。

当然,让这个模块的其他部分与折旧的依赖关系一起工作是另一回事;)