我的Python包有一个setup.py,它在Ubuntu Trusty和一个新的Vagrant Ubuntu Trusty VM上本地构建得很好

sudo apt-get install python python-dev --force-yes --assume-yes --fix-broken
curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7
sudo -H pip install setuptools wheel virtualenv --upgrade

但当我在Travis CI Trusty Beta VM上做同样的操作时:

- sudo apt-get install python python-dev --force-yes --assume-yes --fix-broken
- curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7
- sudo -H pip install setuptools wheel virtualenv --upgrade

我得到:

python2.7 setup.py bdist_wheel
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help
error: invalid command 'bdist_wheel'

这为什么我不能在python中创建轮子?是相关的,但请注意,我正在安装轮子并升级setuptools。


当前回答

如果以上这些都不适用于您,那么您可能也遇到了与我相同的问题。我只是在尝试安装pyspark时看到了这个错误。解决方案在另一个无法安装pyspark的stackoverflow问题中解释。

我发布了这篇b/c,从错误消息中看不出我的问题完全源于pyspark对pypandoc的依赖,我希望能让其他人免于数小时的头痛!=)

其他回答

使用Ubuntu 18.04,这个问题可以通过安装python3 wheel包来解决。

通常,这是作为任何Python包的依赖项安装的。但尤其是在构建您经常使用的容器映像时,不建议安装,因此它经常丢失,必须首先手动安装。

也许,你的pip版本已经过时了。在新创建的虚拟环境中安装模块时,我在WSL中遇到了同样的问题。我能够通过运行以下命令来解决此问题:

$ ./bin/python3 -m pip install --upgrade pip 

如果以上这些都不适用于您,那么您可能也遇到了与我相同的问题。我只是在尝试安装pyspark时看到了这个错误。解决方案在另一个无法安装pyspark的stackoverflow问题中解释。

我发布了这篇b/c,从错误消息中看不出我的问题完全源于pyspark对pypandoc的依赖,我希望能让其他人免于数小时的头痛!=)

pip install wheel

为我工作,但你也可以添加这个

setup(
    ...
    setup_requires=['wheel']
)

安装.py并保存一个pip安装命令

我尝试了上面给出的pip安装轮子说明,但没有成功,因为我被告知已经满足了要求。事实证明,我使用的是python-3.9网站包中的python-3.10和pip。通过输入python-version和pip-version并比较目录,我终于意识到了这一点。

有了这一认识,我安装了一个新版本的pip来配合我的python-3.10,安装了轮子,一切都正常了。