首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用build_meta构建

无法使用build_meta构建
EN

Stack Overflow用户
提问于 2022-02-14 04:44:18
回答 1查看 230关注 0票数 2

我正在尝试使用build -pyarmored轮子来构建一个公司项目,下面是在https://pyarmor.readthedocs.io/en/latest/build-wheel.html?highlight=pyproject.toml#build-pyarmored-wheel中描述的步骤。

pyproject.toml含量

代码语言:javascript
运行
复制
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"

produces
Building wheels for collected packages: company-project
  Building wheel for company-project (pyproject.toml) ... done
  Created wheel for company-project: filename=company_project-1.0.0.0-py3-none-any.whl size=3906 sha256=dd639eb8fe24db685bb9b73576b7cdca656356211c935e031e08314b9d2ef562

当我更改pyproject.toml的内容时

代码语言:javascript
运行
复制
[build-system]
requires = ["setuptools", "wheel", "pyarmor>7.2.0"]
build-backend = "pyarmor.build_meta"

产生的错误是

代码语言:javascript
运行
复制
  Building wheel for company-project (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/employee/.pyenv/versions/3.6.7/bin/python /Users/employee/.pyenv/versions/3.6.7/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /var/folders/cd/ztpbtx9x13x634f270x96mbxjqz_sg/T/tmp2mqap73h
       cwd: /Users/employee/DEV/company-project
  Complete output (12 lines):
  Traceback (most recent call last):
    File "/Users/employee/.pyenv/versions/3.6.7/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
      main()
    File "/Users/employee/.pyenv/versions/3.6.7/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/Users/employee/.pyenv/versions/3.6.7/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 262, in build_wheel
      metadata_directory)
    File "/private/var/folders/cd/ztpbtx9x13x634f270x96mbxjqz_sg/T/pip-build-env-euh9w736/overlay/lib/python3.6/site-packages/pyarmor/build_meta.py", line 100, in build_wheel
      config_settings = _fix_config(config_settings, obf_options)
    File "/private/var/folders/cd/ztpbtx9x13x634f270x96mbxjqz_sg/T/pip-build-env-euh9w736/overlay/lib/python3.6/site-packages/pyarmor/build_meta.py", line 72, in _fix_config
      from pip._internal.configuration import Configuration, ConfigurationError
  ModuleNotFoundError: No module named 'pip'
  ----------------------------------------
  ERROR: Failed building wheel for company-project
Failed to build company-project
ERROR: Failed to build one or more wheels

如果它对setup.py有帮助,如下所示

代码语言:javascript
运行
复制
from os import path
import re
from setuptools import find_packages, setup


def open_file(filepath, mode='r'):
    here = path.abspath(path.dirname(__file__))
    full_path = path.join(here, filepath)
    return open(full_path, mode)


def find_version(package):
    with open_file('{}/__init__.py'.format(package)) as f:
        return re.findall(r"^__version__ = '([^']+)'\r?$", f.read(), re.M)[0]


def find_requires():
    with open_file('requirements.txt') as f:
        return [line.strip() for line in f]


NAME = 'company-project'
VERSION = find_version('company_project’)
PACKAGES = find_packages()
REQUIRES = find_requires()

setup(
    name=NAME,
    version=VERSION,
    packages=PACKAGES,
    include_package_data=True,
    zip_safe=False,
    install_requires=REQUIRES
)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-29 18:19:03

链接指南中描述的方法在页面底部被标记为不支持。

构建吡咯烷酮是一个辅助功能,没有更多的支持这一点。

这一点在github问题上得到了进一步证实(如这里)

请查看有关车轮的文档,没有对此功能的支持。

对我来说,最有效的方法是先混淆代码,然后从模糊代码生成包。

确保使用带有setuptools的pytransform在包中包含package_data库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71107243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档