0

Python 3.3.2 を実行する新しい venv を作成しました。createsendpip 経由でCampaign Monitor のパッケージをインストールしようとすると、次の結果が得られます。

  Running setup.py egg_info for package createsend
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/vagrant/3.3.2venv/build/createsend/setup.py", line 5, in <module>
        from createsend import __version__
      File "./createsend/__init__.py", line 1, in <module>
        from createsend import __version__
    ImportError: cannot import name __version__
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/vagrant/3.3.2venv/build/createsend/setup.py", line 5, in <module>

    from createsend import __version__

  File "./createsend/__init__.py", line 1, in <module>

    from createsend import __version__

ImportError: cannot import name __version__

このパッケージは Python 3 と互換性があると思います。私はpipの最新バージョンを実行しています。このエラーが発生する理由を説明できる人はいますか?

4

1 に答える 1

3

2016 年 10 月 10 日にリリースされたバージョン 4.2.0の時点で、このパッケージは Python 3 互換になりました。2013年からの古い回答は以下の通りです。


いいえ、このパッケージはPython 3 と互換性がありません。相対インポートを使用しています:

    from createsend import __version__
  File "./createsend/__init__.py", line 1, in <module>
    from createsend import __version__

2 番目のcreatesend意味は ですcreatesend/createsend.py。代わりに、Python 3 はそれを絶対パッケージと見なし、再帰インポートは__version__名前を見つけることができません。

于 2013-11-08T19:23:47.827 に答える