nok*_*ome 200 python pypi setup.py travis-ci
我的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
Run Code Online (Sandbox Code Playgroud)
但是当我在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
Run Code Online (Sandbox Code Playgroud)
我明白了:
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'
Run Code Online (Sandbox Code Playgroud)
这为什么我不能在python中创建一个轮子?是相关的,但请注意我正在安装车轮和升级setuptools.
frm*_*ryr 308
不得不安装wheel包.一切都是最新的,但仍然给出了错误.
pip install wheel
Run Code Online (Sandbox Code Playgroud)
然后
python setup.py bdist_wheel
Run Code Online (Sandbox Code Playgroud)
工作没有问题.
Man*_*ddy 221
2020 年 1 月
浪费了2个小时。
在 AWS 上Ubuntu 18.04 new machine,需要以下安装:
sudo apt-get install gcc libpq-dev -y
sudo apt-get install python-dev python-pip -y
sudo apt-get install python3-dev python3-pip python3-venv python3-wheel -y
pip3 install wheel
Run Code Online (Sandbox Code Playgroud)
尤其是最后一行是必须的。
然而,在 3 行之前可能需要作为先决条件。
希望有帮助。
Nat*_*ile 57
pip install wheel
Run Code Online (Sandbox Code Playgroud)
为我工作,但您也可以添加此内容
setup(
...
setup_requires=['wheel']
)
Run Code Online (Sandbox Code Playgroud)
来setup.py并保存一个pip install命令
nok*_*ome 39
这个问题是由于:
sudo这有点复杂,更好地解释一下https://github.com/travis-ci/travis-ci/issues/4989.
我的解决方案是安装用户travis而不是sudo:
- pip2.7 install --upgrade --user travis pip setuptools wheel virtualenv
Run Code Online (Sandbox Code Playgroud)
wyn*_*emo 34
就我而言,venv 创建的wheel/pip/setuptools 版本太旧了。这有效:
venv/bin/pip install --upgrade pip wheel setuptools
Run Code Online (Sandbox Code Playgroud)
Kas*_*mvd 32
如果已经安装了所有必需的模块,则可能需要setuptools在setup.py文件中导入模块.所以只需在setup.py文件的前面添加以下行.
import setuptools
from distutils.core import setup
# other imports and setups
Run Code Online (Sandbox Code Playgroud)
这在wheel的文档中也有提到.https://wheel.readthedocs.io/en/stable/#usage
typ*_*gic 22
这个错误很奇怪,很多提议的答案和混合解决方案.我尝试了它们,添加它们.只有当我添加pip install --upgrade pip最终为我删除错误.但是我没有时间去隔离哪个,所以这只是fyi.
Phi*_*emy 17
在您的setup.py,如果您有:
from distutils.core import setup
Run Code Online (Sandbox Code Playgroud)
然后,将其更改为
from setuptools import setup
Run Code Online (Sandbox Code Playgroud)
然后重新创建您的 virtualenv 并重新运行该命令,它应该可以工作。
Sat*_*ran 10
也许,您的 pip 版本已经过时。在新创建的虚拟环境中安装模块时,我在 WSL 中遇到了同样的问题。我能够通过运行以下命令来解决它:
$ ./bin/python3 -m pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)
我已wheel安装,所以我尝试卸载并重新安装,它修复了问题:
pip uninstall wheel
pip install wheel
Run Code Online (Sandbox Code Playgroud)
奇怪的...
我apt-get install python3-dev在我的 Ubuntu 中做了并添加setup_requires=["wheel"]了setup.py
如果您使用setup.cfg文件,请在该install_require部分之前添加以下内容:
setup_requires =
wheel
Run Code Online (Sandbox Code Playgroud)
setup.cfg 项目示例:
# setup.py
from setuptools import setup
setup()
Run Code Online (Sandbox Code Playgroud)
# setup.cfg
[metadata]
name = name
version = 0.0.1
description = desc
long_description = file: README.md
long_description_content_type = text/markdown
url = url
author = author
classifiers =
Programming Language :: Python
Programming Language :: Python :: 3
[options]
include_package_data = true
packages = find:
setup_requires =
wheel
install_requires =
packages
packages
packages
Run Code Online (Sandbox Code Playgroud)