【问题标题】:python3 bdist_egg cannot install in python2?python3 bdist_egg 无法安装在 python2 中?
【发布时间】:2017-08-09 05:47:10
【问题描述】:

我的setup.py是这样的:

#!/usr/bin/env python
# encoding: utf-8

from setuptools import setup

setup(name='demo',
      version='0.0.1',
      packages=["demo"],
      package_dir={'demo':'demo'},
      install_requires=["requests"],
)

然后我分发它:

source activate py3
python setup.py bdist_eg

我在python 3.6setuptools==36.2.7 中运行它,得到这样的 egg 文件:dist/demo-0.0.1-py3.6.egg。我在 python3 中安装了这个 egg 文件,没有任何错误。

但是如果我想在python 2.7 中安装这个 egg 文件,我运行这个:

source activate py2
easy_install dist/demo-0.0.1-py3.6.egg

我收到这样的错误:

error: Could not find suitable distribution for Requirement.parse('demo==0.0.1')

【问题讨论】:

  • 您在 Python 2.7 中使用哪个版本的 serutools?
  • @LaurentLAPORTE setuptools==36.2.7 在 python2.7 中。我用anaconda
  • 我建议您使用 pip 而不是 easy_install。更现代,可以处理“轮”格式。
  • @LaurentLAPORTE 但是如何使用pip安装本地egg文件?而且,easy_install 是由setuptools 本身提供的,它应该可以工作
  • 如果您有最新版本的 pip,您可以安装“egg”文件。或者,升级它:pip install --upgrade pip.

标签: python setuptools egg


【解决方案1】:

现在的最佳实践是使用wheel 格式(而不是egg)并使用pip 安装。

在你的虚拟环境中:

pip install wheel
python setup.py bdist_wheel

在您的dist 目录中,您将拥有一个.whl 文件。

然后在py2 virtualenv中你可以这样做:

pip install your-lib-xyz.whl

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多