【发布时间】:2021-07-14 09:06:49
【问题描述】:
考虑通常的场景——我想创建一个虚拟环境并安装一些包。说
python3 -m venv venv
source venv/bin/activate
pip install databricks-cli
在安装过程中出现错误
Building wheels for collected packages: databricks-cli
Building wheel for databricks-cli (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/paulius/Documents/wheeltest/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m7jmyh1m/databricks-cli/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m7jmyh1m/databricks-cli/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-maxix98x
cwd: /tmp/pip-install-m7jmyh1m/databricks-cli/
Complete output (8 lines):
/tmp/pip-install-m7jmyh1m/databricks-cli/setup.py:24: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
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'
----------------------------------------
ERROR: Failed building wheel for databricks-cli
虽然它是良性的(安装确实有效),但它仍然很烦人。
我知道pip install wheel 可以解决这个问题,但wheel 默认情况下不附带虚拟环境。所以我应该总是将它添加到我的 requirements.txt 中,或者这可能是包维护者可以解决的问题(在本例中为 databricks-cli),因此我应该在他们的 Github 中打开一个问题?
更新:请注意wheel 不是安装轮子所必需的,在此示例中,一堆依赖项已成功下载并安装为轮子。唯一的 databricks-cli 包出现错误,因为它没有轮子,但出于某种原因,pip 尝试构建它。
【问题讨论】:
-
你试过用
pip install databricks_cli-0.14.3-py2-none-any.whl安装wheel-file吗?有了那个 pip 就不需要从源代码构建轮子了。 -
@KlimBim 不,我没有。我希望 pip 自己找到最好的文件,而无需我搜索适当的二进制文件。 (而且我认为它是这样做的,在这种情况下,轮子是用于 python2,所以它不适合我的 venv)。
-
我想知道为什么它不起作用。如果您安装下载的
pip install databricks-cli-0.14.3.tar.gz并且pip找不到wheel,它会在压缩包中使用setup.py。我试过了,pip使用了旧版setup.py install
标签: python pip python-wheel