- Notifications
You must be signed in to change notification settings - Fork1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Update code page to 65001 before setting environment variables, fix #11828#11831
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
Thanks! Do you know why this isn't present already? Could you check the history ofvirtualenv to see why they're not in there? |
Ok. I found that virtualenv fixed the issue inpypa/virtualenv#2687 |
charliermarsh approved these changesFeb 27, 2025
Thanks! It looks like it was added after we vendored these files (but already existed upstream in CPython). |
loic-lescoat pushed a commit to loic-lescoat/uv that referenced this pull requestMar 2, 2025
…stral-sh#11828 (astral-sh#11831)## SummaryWhen executing `.venv\Scripts\activate` in `cmd`, the script uses thelocal codepage for execution. This causes issues when the file pathcontains non-ASCII characters, resulting in corrupted environmentvariables such as `VIRTUAL_ENV`.Seeastral-sh#11828.Code used to fix the issue was adapted fromhttps://github.com/python/cpython/blob/3.13/Lib/venv/scripts/nt/activate.bat#L3-L9.## Test PlanBefore:After:(`chcp` command cleared the history lol)
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull requestMar 6, 2025
This MR contains the following updates:| Package | Update | Change ||---|---|---|| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.6.3` -> `0.6.4` |MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).**Proposed changes to behavior should be submitted there as MRs.**---### Release Notes<details><summary>astral-sh/uv (astral-sh/uv)</summary>### [`v0.6.4`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#064)[Compare Source](astral-sh/uv@0.6.3...0.6.4)##### Enhancements- Upgrade pypy3.10 to v7.3.19 ([#​11814](astral-sh/uv#11814))- Allow configuring log verbosity from the CLI (i.e., `-vvv`) ([#​11758](astral-sh/uv#11758))- Warn when duplicate index names found in single file ([#​11824](astral-sh/uv#11824))##### Bug fixes- Always store registry index on resolution packages ([#​11815](astral-sh/uv#11815))- Avoid error on relative paths in `uv tool uninstall` ([#​11889](astral-sh/uv#11889))- Avoid silently dropping errors in directory enumeration ([#​11890](astral-sh/uv#11890))- Disable interactive git terminal prompts during fetches ([#​11744](astral-sh/uv#11744))- Discover Windows registry (PEP 514) Python versions across 32/64-bit ([#​11801](astral-sh/uv#11801))- Don't panic on Ctrl-C in confirm prompt ([#​11706](astral-sh/uv#11706))- Fix non-directory in workspace on Windows ([#​11833](astral-sh/uv#11833))- Make interpreter caching robust to OS upgrades ([#​11875](astral-sh/uv#11875))- Respect `include-system-site-packages` in layered environments ([#​11873](astral-sh/uv#11873))- Suggest `uv tool update-shell` in PowerShell ([#​11846](astral-sh/uv#11846))- Update code page to `65001` before setting environment variables in virtual environments ([#​11831](astral-sh/uv#11831))- Use hash instead of full wheel name in wheels bucket ([#​11738](astral-sh/uv#11738))- Fix version string truncation while generating cache_key ([#​11830](astral-sh/uv#11830))- Explicitly handle ctrl-c in confirmation prompt instead of using a signal handler ([#​11897](astral-sh/uv#11897))##### Performance- Avoid cloning to string when creating cache path ([#​11772](astral-sh/uv#11772))- Avoid redundant clones in version containment check ([#​11767](astral-sh/uv#11767))- Avoid string allocation when enumerating tool names ([#​11910](astral-sh/uv#11910))- Avoid using owned `String` for package name constructors ([#​11768](astral-sh/uv#11768))- Avoid using owned `String` in deserializers ([#​11764](astral-sh/uv#11764))- Migrate to `zlib-rs` (again) ([#​11894](astral-sh/uv#11894))- Remove unnecessary clones when adding package names ([#​11771](astral-sh/uv#11771))- Skip unquote allocation for non-quoted strings ([#​11813](astral-sh/uv#11813))- Use `SmallString` for filenames and URLs ([#​11765](astral-sh/uv#11765))- Use a Boxed slice for version specifiers ([#​11766](astral-sh/uv#11766))- Use matches over contains for extra value parsing ([#​11770](astral-sh/uv#11770))##### Documentation- Avoid fallback to PyPI in mixed CPU/CUDA example ([#​11115](astral-sh/uv#11115))- Docs: Clarify that setting cache-keys overrides defaults ([#​11895](astral-sh/uv#11895))- Document our MSRV policy ([#​11898](astral-sh/uv#11898))- Fix reference to macOS cache path ([#​11845](astral-sh/uv#11845))- Fix typo in `no_default_groups` documentation and changelog ([#​11928](astral-sh/uv#11928))- Update the "Locking and syncing" page ([#​11647](astral-sh/uv#11647))- Update alternative indexes documentation to use new interface ([#​10826](astral-sh/uv#10826))</details>---### Configuration📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.🔕 **Ignore**: Close this MR and you won't be reminded about this update again.--- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box---This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
When executing
.venv\Scripts\activate
incmd
, the script uses the local codepage for execution. This causes issues when the file path contains non-ASCII characters, resulting in corrupted environment variables such asVIRTUAL_ENV
.See#11828.
Code used to fix the issue was adapted fromhttps://github.com/python/cpython/blob/3.13/Lib/venv/scripts/nt/activate.bat#L3-L9.
Test Plan
Before:

After:

(
chcp
command cleared the history lol)