源代码被打包在Python Wheel中

SHC*_*SHC 1 deployment pip pypi python-3.x python-wheel

我们正在使用轮子将代码部署到 QA/生产。最近我们发现/意识到wheel包实际上存储了我们的源代码。通过下面的简单命令将打开其中的所有源代码。

unzip package.whl
Run Code Online (Sandbox Code Playgroud)

用于创建轮子的命令如下

cd /path/to/source/code/folder
python setup.py bdist bdist_wheel
Run Code Online (Sandbox Code Playgroud)

所以,

  1. 有没有什么方法可以创建轮子来创建二进制文件并存储在包中而不是源代码中?

Dus*_*ram 6

从最简单的意义上来说,wheel就是:

  • 一个 zip 文件
  • 具有特定的文件名
  • 和特定的目录布局
  • 包含纯Python源代码
  • 以及任何特定于平台的二进制文件

这意味着 a wheel(以及任何其他发行版)本身并不是二进制文件,但它可能包含特定于平台的二进制文件 - 例如,如果您正在构建/编译一些 C 代码以及 Python 包。

大多数轮子都是纯Python的,这意味着它们包含Python源代码。

您似乎在问如何将 Python 代码“编译”成模糊的二进制文件。这不是 a 的目标wheel。您可能想在此处阅读有关wheel格式的更多详细信息: https ://www.python.org/dev/peps/pep-0427/

有没有什么方法可以创建轮子来创建二进制文件并存储在包中而不是源代码中?

不符合wheel格式。如果这实际上是您的目标,您可能需要根据目标平台查看pyinstallerpy2exe或。cython