You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.10.6下自定义包构建pex文件失败求助

解决Python3环境下PEX打包本地自定义包失败的问题

问题原因

执行pex hello -e hello:hello -o hello.pex时,PEX会默认尝试从PyPI下载名为hello的包,但你的hello是本地自定义包,因此出现No matching distribution found for hello错误。同时原setup.py的配置也不符合包结构要求。

解决步骤

1. 修正setup.py配置

你的项目是标准包结构(包含__init__.py的文件夹),原setup.py中py_modules=['hello']仅适用于单个独立模块文件,需改为packages=['hello']以识别整个包:

from distutils.core import setup
setup(
    name='hello',
    version='0.0.1',
    packages=['hello']
)

2. 调整PEX打包命令

切换到hello包的父目录(即包含hello文件夹的目录),执行以下命令,明确指定从本地当前目录加载包:

pex . -e hello.hello:hello -o hello.pex
  • .:告诉PEX从当前目录读取本地包资源
  • -e hello.hello:hello:指定入口点为hello包下hello.py模块中的hello函数

3. 验证结果

运行生成的pex文件:

./hello.pex

正常情况下会输出hello!。

额外注意事项

  • 确保使用Python3版本的PEX,可通过pex --version确认,若版本不符,重新安装:python3 -m pip install --upgrade pex
  • 不要进入hello文件夹内部执行打包命令,必须在包的父目录操作

内容的提问来源于stack exchange,提问作者Leonardo Radillo escobar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 14:45:27