为什么在Python 3.6中默认不安装轮子包



我的问题是:我需要分发我创建的Python包。我想创建轮子,因为这是现在分发Python包的首选方式。

在我的机器上:没问题。

然而,在我的客户端服务器上,我无法控制用于创建轮子的Python(3.6.3(。还有-惊喜!-Python 3.6中默认不包含轮子包!

是的,我知道我可以做到:sudo pip install wheel,但在那种环境下我没有sudo权限。

我可以创建一个virtualenv,在那个虚拟环境中安装轮子,然后创建我的包(我可能最终会这么做(,但真是太痛苦了!!

我是不是遗漏了什么?

如果没有,在我看来,这是不一致的:一方面,我们被告知要使用轮子,但另一方面;优选的";机制在普通Python中不可用(至少在Python 3.6中(

对此有什么想法吗?

通过sudo pip系统安装软件包和在虚拟环境中安装软件包之间有一个中间环节:为用户安装软件包

$ pip --user install --upgrade pip wheel

(在某些平台中,pip在没有sudo的情况下调用时自动选择--user(

提供二进制文件的包(如pipwheel(默认情况下会将它们安装在~/.local/bin中,因此请确保dir位于$PATH中。如果dir存在,大多数发行版中默认的/etc/profile~/.profile已经这样做了,所以您可能需要注销/登录一次才能在安装第一个软件包后更新$PATH

现在,您可以享受wheel(和最新的pip(,就像它们是任何其他系统包一样,而且没有任何处理虚拟机的麻烦。

最新更新