不能 运行 python 在 PowerShell 的 virtualenv 上 Windows 10

Can't run python on virtualenv in PowerShell on Windows 10

Python 和 pip 在 PowerShell 中工作得很好,但如果我在激活 virtualenv 时 运行 它就不同了。我收到这些错误:

(<project_name>-env) PS D:\Kerja\HIT\Python Projects\<project_name>\<project_name>-env\Scripts> python
Traceback (most recent call last):
  File "D:\Kerja\HIT\Python Projects\<project_name>\<project_name>-env\lib\site.py", line 703, in <module>
    main()
  File "D:\Kerja\HIT\Python Projects\<project_name>\<project_name>-env\lib\site.py", line 692, in main
    aliasmbcs()
  File "D:\Kerja\HIT\Python Projects\<project_name>\<project_name>-env\lib\site.py", line 515, in aliasmbcs
    import locale, codecs
  File "D:\Kerja\HIT\Python Projects\<project_name>\<project_name>-env\lib\locale.py", line 17, in <module>
    import functools
ImportError: No module named functools
(<project_name>-env) PS D:\Kerja\HIT\Python Projects\<project_name>\<project_name>-env\Scripts> pip
Fatal error in launcher: Unable to create process using '"'

如何在使用 PowerShell 的同时在 virtualenv 中 运行 python 和 pip 成功?

我找到答案了!事实证明,当我在 PowerShell 上使用 virtualenv 时,它优先使用 python 和来自 virtualenv 的 pip 而不是 PATH 环境变量。

我之前提到的 python 和 pip 位于 /<environment_name/Scripts/> 文件夹中,还有 activatedeactivate 脚本。删除 python.exe 和 pip.exe 或者只是简单地重命名即可。

请注意,它可能会影响 pip freeze -l。不过我不确定。