indygreg / indygreg/PyOxidizer
error[PYOXIDIZER_PYTHON_EXECUTABLE]: adding PythonExecutable to FileManifest
- Dominant language
- Rust
- Stars
- 6.2k
- Forks
- 256
- PR merge metrics
- No merged PRs in 30d
Description
I tried to create a startup example project via `pyoxidizer init-config-file .` and run `pyoxidizer run`,
then I got `error[PYOXIDIZER_PYTHON_EXECUTABLE]: adding PythonExecutable to FileManifest, error: adding PythonExecutable to FileManifest` errors.
```cmd
D:\code\python>mkdir pyoxidizer_example1
D:\code\python>cd pyoxidizer_example1\
D:\code\python\pyoxidizer_example1>pyoxidizer --help
PyOxidizer 0.22.0
Gregory Szorc
Build and distribute Python applications
USAGE:
pyoxidizer [OPTIONS] [SUBCOMMAND]
OPTIONS:
-h, --help
Print help information
--system-rust
Use a system install of Rust instead of a self-managed Rust installation
-V, --version
Print version information
--verbose
Increase logging verbosity. Can be specified multiple times
SUBCOMMANDS:
analyze
Analyze a built binary
build
Build a PyOxidizer enabled project
cache-clear
Clear PyOxidizer's user-specific cache
find-resources
Find resources in a file or directory
generate-python-embedding-artifacts
Generate files useful for embedding Python in a [Rust] binary
help
Print this message or the help of the given subcommand(s)
init-config-file
Create a new PyOxidizer configuration file.
init-rust-project
Create a new Rust project embedding a Python interpreter
list-targets
List targets available to resolve in a configuration file
python-distribution-extract
Extract a Python distribution archive to a directory
python-distribution-info
Show information about a Python distribution archive
python-distribution-licenses
Show licenses for a given Python distribution
run
Run a target in a PyOxidizer configuration file
run-build-script
Run functionality that a build script would perform
rust-project-licensing
Show licensing information for a Rust project
D:\code\python\pyoxidizer_example1>pyoxidizer init-config-file .
writing .\pyoxidizer.bzl
A new PyOxidizer configuration file has been created.
This configuration file can be used by various `pyoxidizer`
commands
For example, to build and run the default Python application:
$ cd .
$ pyoxidizer run
The default configuration is to invoke a Python REPL. You can
edit the configuration file to change behavior.
D:\code\python\pyoxidizer_example1>pyoxidizer run
resolving 1 targets
resolving target install
resolving target exe
target Python distribution for x86_64-pc-windows-msvc resolves to: https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.10.4%2B20220528-x86_64-pc-windows-msvc-shared-pgo-full.tar.zst (sha256=d636dc1bcca74dd9c6e3b26f7c081b3e229336e8378fe554bf8ba65fe780a2ac)
reusing target Python distribution for host execution
adding Python executable . to .
ensuring Rust toolchain 1.61.0 is available
rustc for x86_64-pc-windows-msvc in C:\Users\Liu.D.H\AppData\Local\pyoxidizer\rust\1.61.0-x86_64-pc-windows-msvc is up-to-date
cargo for x86_64-pc-windows-msvc in C:\Users\Liu.D.H\AppData\Local\pyoxidizer\rust\1.61.0-x86_64-pc-windows-msvc is up-to-date
rust-std for x86_64-pc-windows-msvc in C:\Users\Liu.D.H\AppData\Local\pyoxidizer\rust\1.61.0-x86_64-pc-windows-msvc is up-to-date
Created binary (application) package
writing C:\Users\LIUD~1.H\AppData\Local\Temp\pyoxidizerBoN9i2\.\.cargo\config
writing C:\Users\LIUD~1.H\AppData\Local\Temp\pyoxidizerBoN9i2\.\Cargo.lock
writing C:\Users\LIUD~1.H\AppData\Local\Temp\pyoxidizerBoN9i2\.\build.rs
writing C:\Users\LIUD~1.H\AppData\Local\Temp\pyoxidizerBoN9i2\.\src\main.rs
writing C:\Users\LIUD~1.H\AppData\Local\Temp\pyoxidizerBoN9i2\.\pyoxidizer.bzl
writing C:\Users\LIUD~1.H\AppData\Local\Temp\pyoxidizerBoN9i2\.\pyoxidizerBoN9i2.exe.manifest
writing C:\Users\LIUD~1.H\AppData\Local\Temp\pyoxidizerBoN9i2\.\pyoxidizerBoN9i2-manifest.rc
warning: _distutils_hack contains __file__
warning: asyncio.__main__ contains __file__
warning: cProfile contains __file__
warning: distutils.command.sdist contains __file__
warning: distutils.core contains __file__
warning: distutils.dist contains __file__
warning: doctest contains __file__
warning: encodings contains __file__
warning: idlelib.browser contains __file__
warning: idlelib.config contains __file__
warning: idlelib.help contains __file__
warning: idlelib.help_about contains __file__
warning: idlelib.idle contains __file__
warning: idlelib.pyshell contains __file__
warning: idlelib.runscript contains __file__
warning: idlelib.tree contains __file__
warning: importlib contains __file__
warning: importlib._bootstrap contains __file__
warning: importlib._bootstrap_external contains __file__
warning: importlib.abc contains __file__
warning: inspect contains __file__
warning: lib2to3.pygram contains __file__
warning: logging contains __file__
warning: logging.handlers contains __file__
warning: modulefinder contains __file__
warning: msilib.text contains __file__
warning: multiprocessing.spawn contains __file__
warning: pdb contains __file__
warning: pip.__main__ contains __file__
warning: pip._internal.build_env contains __file__
warning: pip._internal.commands.debug contains __file__
warning: pip._internal.utils.misc contains __file__
warning: pip._internal.utils.setuptools_build contains __file__
warning: pip._internal.utils.virtualenv contains __file__
warning: pip._vendor contains __file__
warning: pip._vendor.certifi.core contains __file__
warning: pip._vendor.distlib.resources contains __file__
warning: pip._vendor.pep517.in_process contains __file__
warning: pip._vendor.pep517.in_process._in_process contains __file__
warning: pip._vendor.pkg_resources contains __file__
warning: pip._vendor.pygments.formatters._mapping contains __file__
warning: pip._vendor.pygments.lexers._mapping contains __file__
warning: pip._vendor.pygments.lexers.python contains __file__
warning: pip._vendor.pygments.sphinxext contains __file__
warning: pip._vendor.pygments.unistring contains __file__
warning: pip._vendor.rich.pretty contains __file__
warning: pip._vendor.rich.traceback contains __file__
warning: pkg_resources contains __file__
warning: pkgutil contains __file__
warning: profile contains __file__
warning: pyclbr contains __file__
warning: pydoc contains __file__
warning: pydoc_data.topics contains __file__
warning: runpy contains __file__
warning: setuptools._distutils.command.bdist_wininst contains __file__
warning: setuptools._distutils.command.sdist contains __file__
warning: setuptools._distutils.core contains __file__
warning: setuptools._distutils.dist contains __file__
warning: setuptools.build_meta contains __file__
warning: setuptools.command.bdist_egg contains __file__
warning: setuptools.command.build_ext contains __file__
warning: setuptools.command.py36compat contains __file__
warning: setuptools.command.setopt contains __file__
warning: setuptools.launch contains __file__
warning: setuptools.sandbox contains __file__
warning: site contains __file__
warning: trace contains __file__
warning: turtle contains __file__
warning: turtledemo.__main__ contains __file__
warning: unittest contains __file__
warning: unittest.loader contains __file__
warning: venv contains __file__
warning: zipimport contains __file__
__file__ was encountered in some embedded modules
PyOxidizer does not set __file__ and this may create problems at run-time
See https://github.com/indygreg/PyOxidizer/issues/69 for more
building with Rust 1.61.0
error: no bin target named `.`
error[PYOXIDIZER_PYTHON_EXECUTABLE]: adding PythonExecutable to FileManifest
Caused by:
0: building Python executable
1: building executable with Rust project
2: cargo build failed
--> .\pyoxidizer.bzl:283:5
|
283 | files.add_python_resource(".", exe)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PythonExecutable.to_file_manifest()
error: adding PythonExecutable to FileManifest
Caused by:
0: building Python executable
1: building executable with Rust project
2: cargo build failed
D:\code\python\pyoxidizer_example1>pyoxidizer --version
PyOxidizer 0.22.0
commit: unknown
source: https://github.com/indygreg/PyOxidizer.git
pyembed crate location: version = "0.22.0"
D:\code\python\pyoxidizer_example1>python -V
Python 3.10.2
D:\code\python\pyoxidizer_example1>
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the Windows failure with `pyoxidizer init-config-file .` followed by `pyoxidizer run`, using PyOxidizer 0.22.0. Inspect the generated `pyoxidizer.bzl` around line 283 and the Rust project build output, especially the `no bin target named .` error. Done means the generated default project runs without the `PYOXIDIZER_PYTHON_EXECUTABLE` failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- build-system, cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100