indygreg / indygreg/PyOxidizer
Windows. "error: cargo run failed"
- Dominant language
- Rust
- Stars
- 6.2k
- Forks
- 256
- PR merge metrics
- No merged PRs in 30d
Description
Just followed the Getting Started section of the docs.
* Windows 10
* rustc 1.46.0
* PyOxidizer installed from this repo's main branch as of c1a9e9c.
I get `error: cargo run failed` in cmd.exe and I get a popup dialog that says:
```
---------------------------
pyapp.exe - System Error
---------------------------
The code execution cannot proceed because python38.dll was not found. Reinstalling the program may fix this problem.
---------------------------
OK
---------------------------
```
(It's probably worth noting that if I do all this from powershell, I don't get the popup dialog, but the terminal output looks the same.)
Full terminal output:
```
C:\Users\dusti\PycharmProjects\pyoxtest\pyapp>pyoxidizer run
resolving 1 targets
resolving target exe
resolving target dist
resolving Python distribution Url { url: "https://github.com/indygreg/python-build-standalone/releases/download/20201003/cpython-3.8.6-x86_64-pc-windows-msvc-shared-pgo-20201003T2021.tar.zst", sha256: "671122d910e57230df4fe3aae024e8a56613a1786d53567553adc8e31d2490f1" }
downloading https://github.com/indygreg/python-build-standalone/releases/download/20201003/cpython-3.8.6-x86_64-pc-windows-msvc-shared-pgo-20201003T2021.tar.zst
Python distribution available at C:\Users\dusti\PycharmProjects\pyoxtest\pyapp\.\build\python_distributions\cpython-3.8.6-x86_64-pc-windows-msvc-shared-pgo-20201003T2021.tar.zst
reading data from Python distribution...
Created binary (application) package
writing C:\Users\dusti\AppData\Local\Temp\pyoxidizer.MFB9F4HIK8gv\pyapp\.cargo\config
writing C:\Users\dusti\AppData\Local\Temp\pyoxidizer.MFB9F4HIK8gv\pyapp\build.rs
writing C:\Users\dusti\AppData\Local\Temp\pyoxidizer.MFB9F4HIK8gv\pyapp\src\main.rs
writing C:\Users\dusti\AppData\Local\Temp\pyoxidizer.MFB9F4HIK8gv\pyapp\pyoxidizer.bzl
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.pyproject contains __file__
warning: pip._internal.req.req_install 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.wrappers contains __file__
warning: pip._vendor.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: 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.46.0
Updating crates.io index
Updating git repository `https://github.com/indygreg/PyOxidizer.git`
Compiling memchr v2.3.3
Compiling winapi v0.3.9
Compiling cfg-if v0.1.10
Compiling lazy_static v1.4.0
Compiling regex-syntax v0.6.18
Compiling byteorder v1.3.4
Compiling getrandom v0.1.15
Compiling encoding_rs v0.8.24
Compiling libc v0.2.79
Compiling anyhow v1.0.33
Compiling autocfg v1.0.1
Compiling ppv-lite86 v0.2.9
Compiling proc-macro-hack v0.5.18
Compiling cc v1.0.60
Compiling pyembed v0.8.0-pre (https://github.com/indygreg/PyOxidizer.git?rev=c1a9e9c8c11aa82b3d9cb42f0cebfd385de3c9ba#c1a9e9c8)
Compiling cpython v0.5.1
Compiling quoted_printable v0.4.2
Compiling base64 v0.12.3
Compiling either v1.6.1
Compiling pyapp v0.1.0 (C:\Users\dusti\AppData\Local\Temp\pyoxidizer.MFB9F4HIK8gv\pyapp)
Compiling thread_local v1.0.1
Compiling num-traits v0.2.12
Compiling itertools v0.9.0
Compiling paste-impl v0.1.18
Compiling aho-corasick v0.7.13
Compiling rand_core v0.5.1
Compiling base64 v0.10.1
Compiling python-packed-resources v0.2.0-pre (https://github.com/indygreg/PyOxidizer.git?rev=c1a9e9c8c11aa82b3d9cb42f0cebfd385de3c9ba#c1a9e9c8)
Compiling memory-module-sys v0.3.0
Compiling rand_chacha v0.2.2
Compiling regex v1.3.9
Compiling paste v0.1.18
Compiling charset v0.1.2
Compiling rand v0.7.3
Compiling mailparse v0.13.0
Compiling winapi-util v0.1.5
Compiling remove_dir_all v0.5.3
Compiling rand v0.4.6
Compiling memmap v0.7.0
Compiling same-file v1.0.6
Compiling uuid v0.8.1
Compiling tempdir v0.3.7
Compiling walkdir v2.3.1
Compiling python-packaging v0.1.0-pre (https://github.com/indygreg/PyOxidizer.git?rev=c1a9e9c8c11aa82b3d9cb42f0cebfd385de3c9ba#c1a9e9c8)
Compiling python3-sys v0.5.1
Finished dev [unoptimized + debuginfo] target(s) in 31.01s
writing executable to C:\Users\dusti\PycharmProjects\pyoxtest\pyapp\.\build\x86_64-pc-windows-msvc\debug\exe\pyapp.exe
error: cargo run failed
```
If I install pyoxidizer with `cargo install pyoxidizer`, then I do not encounter this issue...but it does use python 3.7 instead of 3.8 like the above is trying to use...
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the Getting Started flow on Windows 10 with PyOxidizer at c1a9e9c and Rust 1.46. Compare the failing `pyoxidizer run` with the working `cargo install pyoxidizer` behavior. Done means the generated pyapp no longer ends with `cargo run failed` or reports that python38.dll is missing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- build-system, devtools, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100