问题
I found similar posts, mostly related to linux on venv having an issue with working. python 3.8 venv missing activate command However, I am confused on how to solve it on windows, and what is happening.
I installed python3.8 from downloading it on pythons website. Then I follow the 3.8 documentation https://docs.python.org/3/library/venv.html which shows:
python3 -m venv /path/to/new/virtual/environment
I do this but then get the following error:
Error: Command '['E:\\py_envs\\hf4\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 101.
When I use:
python -m venv --without-pip hf4
and then hf4\Scripts\activate
It works for activation. What I don't understand is that I can then run pip and it is there during the activated environment. It seems a maybe related issue, is that anything I have installed on my system python is also available. For example, in the activated session:
(hf4) E:\py_envs>where pip
C:\Users\local user\AppData\Local\Programs\Python\Python38\Scripts\pip.exe
One question is naturally how to fix this, the other is that I would appreciate an explanation as to what is happening to better understand it. Does it search first for the active environment, and if it can't find it, defaults to a system version?
回答1:
I had the same problem (with both Python 3.7 and 3.8), I believe it was due to a Windows update when I enrolled in the Windows Insiders program, but that could have just been a coincidence.
PS C:\Users\Your Name\AppData\Local\Programs\Python\Python38> ./python -m venv c:\TEMP\py38-venv
Error: Command '['c:\\TEMP\\py38-venv\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 101.
This worked around the problem in my case:
- Uninstall Python.
- Install with the Custom option.
- Use the "Install for all users".
After this it worked fine:
PS C:\Utilities\PythonBase\Python38> .\python -m venv c:\temp\venv-py38
PS C:\Utilities\PythonBase\Python38>
Of course you'll have to go through and fix any venvs you've been using, but if you're in the same situation as me they won't have been working anyway.
来源:https://stackoverflow.com/questions/61641280/python3-8-venv-returned-exit-status-101