ImportError:pyenv

时间:2016-01-21 05:20:16

标签: python pyenv

我安装了pyenv来管理不同版本的Python,并使用pip install printtable下载并安装printtable

但是当我在交互式shell中导入此模块时,它不起作用并显示ImportError

$ pyenv versions
  system
  2.7.11
* 3.5.1 (set by /Users/apple/.pyenv/version)
$ pip list
  pip (8.0.0)
  printtable (1.2)
  setuptools (18.2)
$ python
  Python 3.5.1 (default, Jan 21 2016, 12:50:43)
  [GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.72)] on darwin
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import printtable
  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/apple/.pyenv/versions/3.5.1/lib/python3.5/site-packages/printtable/__init__.py", line 1, in <module>
  from printtable import PrintTable
  ImportError: cannot import name 'PrintTable'

如何在pyenv中管理模块?

PS。我正在逐步关注这本书Automate the boring stuffprinttable部分在第6章的末尾。

访问:https://automatetheboringstuff.com/chapter6/

2 个答案:

答案 0 :(得分:0)

我用

下载了 printtable
pip3 install --download /tmp printtable

并检查了 printtable-1.2.tar.gz 的竞争对手。在 printtable / printtable.py 中有代码,如

def  printTable(self,line_num=0):
....
    print self.StrTable

表示此包不兼容python 3。

可以通过

安装此模块
tar xfv printtable-1.2.tar.gz
cd printtable-1.2/
2to3-3.5 --write printtable/*.py tests/*.py
python3.5 setup.py build
python3.5 setup.py install

答案 1 :(得分:0)

你没有做错任何事; printtable模块的编写方式与Python 3完全不兼容。

由于您已经在使用pyenv,并且根据pyenv versions的输出已经安装了Python 2.7.11,您只需为该Python解释器安装printtable:

pyenv shell 2.7.11
pip install printtable