如何使用 PowerShell 激活 virtualenv?
How to activate virtualenv using PowerShell?
我创建了名为 bitcoin_notifications.py 的 virtualenv,我将要激活它但是:
PS C:\Users\piotr> bitcoin_notifications\activate.ps1
bitcoin_notifications\activate.ps1 : The module
'bitcoin_notifications' could not be loaded. For more information, run
'Import-Module bitcoin_notifications'.
At line:1 char:1
+ bitcoin_notifications\activate.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (bitcoin_notifications\activate.ps1:String) [],
CommandNotFoundException
+ FullyQualifiedErrorId : CouldNotAutoLoadModule
在我们读取模块之前共享的结果中,无法加载模块,如果需要更多信息 运行 另一个特定命令。
一旦我 运行 它,
PS C:\Users\piotr> ```Import-Module bitcoin_notifications
Import-Module : The specified module 'bitcoin_notifications' was not
loaded because no valid module file was found in any module
directory.At line:1 char:1
+ Import-Module bitcoin_notifications
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (bitcoin_notifications:String) [Import-Module], FileNotFoundException
+ FullyQualifiedErrorId :
Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand```
我们可以理解该目录中没有模块。我只想激活virtualenv,我该怎么做?
我不熟悉 PowerShell,但是 activate.ps1 的第一行似乎提到了解决方案:
# This file must be dot sourced from PoSh; you cannot run it
# directly. Do this: . ./activate.ps1
因此,以下内容应该有效(您评论中的第 4 步和第 5 步 - 请注意第 5 步遗漏了点!):
virtualenv bitcoin_notifications
. .\bitcoin_notifications\Scripts\activate.ps1
注意:您的问题提到 'venv' 但实际上是关于 'virtualenv'。请注意,这是两个相似但不同的工具。当您使用正确的术语时,人们更容易找到并回答您的问题。此外,当在您的帖子中包含 shell 命令时,请使用与您使用过的完全相同的命令,以便其他人可以重现相同的步骤(看起来情况并非如此,因为第 5 步缺少 "scripts"部分)。谢谢!
我在使用 Windows 10 时遇到了非常相似的问题。
因此,最初安装了 Python 3.7(添加到路径)并确保 pip 正常工作
PS C:\foldername> pip
然后,运行下面的命令安装virtualenv
PS C:\foldername> pip install --upgrade setuptools
PS C:\foldername> pip install ez_setup
PS C:\foldername> pip install virtualenv
创建了一个 virtualenvs 文件夹并进入其中
PS C:\foldername> mkdir virtualenvs
PS C:\foldername> cd virtualenvs
然后,创建虚拟环境molecoder
PS C:\foldername\virtualenvs> virtualenv molecoder
PS C:\foldername\virtualenvs> Set-ExecutionPolicy Unrestricted -Force
并尝试激活它
PS C:\foldername\virtualenvs> molecoder\Scripts\acivate
并收到以下消息
molecoder\Scripts\acivate : The module 'molecoder' could not be
loaded. For more information, run 'Import-Module molecoder'. At line:1
char:1
+ molecoder\Scripts\acivate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (molecoder\Scripts\acivate:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CouldNotAutoLoadModule
在我的例子中是因为我写了 acivate 而不是 activate,所以下面的修改有效
PS C:\foldername\virtualenvs> molecoder\Scripts\activate
在您的情况下,您尝试激活但激活在 envname/Scripts 内,您将前往错误的位置。
要修复它,您只需要 运行
PS C:\Users\piotr> bitcoin_notifications\Scripts\activate
我创建了名为 bitcoin_notifications.py 的 virtualenv,我将要激活它但是:
PS C:\Users\piotr> bitcoin_notifications\activate.ps1
bitcoin_notifications\activate.ps1 :
The module 'bitcoin_notifications' could not be loaded. For more information, run 'Import-Module bitcoin_notifications'.
At line:1 char:1 + bitcoin_notifications\activate.ps1 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (bitcoin_notifications\activate.ps1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CouldNotAutoLoadModule
在我们读取模块之前共享的结果中,无法加载模块,如果需要更多信息 运行 另一个特定命令。
一旦我 运行 它,
PS C:\Users\piotr> ```Import-Module bitcoin_notifications
Import-Module : The specified module 'bitcoin_notifications' was not loaded because no valid module file was found in any module directory.
At line:1 char:1 + Import-Module bitcoin_notifications + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceUnavailable: (bitcoin_notifications:String) [Import-Module], FileNotFoundException + FullyQualifiedErrorId :
Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand```
我们可以理解该目录中没有模块。我只想激活virtualenv,我该怎么做?
我不熟悉 PowerShell,但是 activate.ps1 的第一行似乎提到了解决方案:
# This file must be dot sourced from PoSh; you cannot run it
# directly. Do this: . ./activate.ps1
因此,以下内容应该有效(您评论中的第 4 步和第 5 步 - 请注意第 5 步遗漏了点!):
virtualenv bitcoin_notifications
. .\bitcoin_notifications\Scripts\activate.ps1
注意:您的问题提到 'venv' 但实际上是关于 'virtualenv'。请注意,这是两个相似但不同的工具。当您使用正确的术语时,人们更容易找到并回答您的问题。此外,当在您的帖子中包含 shell 命令时,请使用与您使用过的完全相同的命令,以便其他人可以重现相同的步骤(看起来情况并非如此,因为第 5 步缺少 "scripts"部分)。谢谢!
我在使用 Windows 10 时遇到了非常相似的问题。
因此,最初安装了 Python 3.7(添加到路径)并确保 pip 正常工作
PS C:\foldername> pip
然后,运行下面的命令安装virtualenv
PS C:\foldername> pip install --upgrade setuptools
PS C:\foldername> pip install ez_setup
PS C:\foldername> pip install virtualenv
创建了一个 virtualenvs 文件夹并进入其中
PS C:\foldername> mkdir virtualenvs
PS C:\foldername> cd virtualenvs
然后,创建虚拟环境molecoder
PS C:\foldername\virtualenvs> virtualenv molecoder
PS C:\foldername\virtualenvs> Set-ExecutionPolicy Unrestricted -Force
并尝试激活它
PS C:\foldername\virtualenvs> molecoder\Scripts\acivate
并收到以下消息
molecoder\Scripts\acivate : The module 'molecoder' could not be loaded. For more information, run 'Import-Module molecoder'. At line:1 char:1 + molecoder\Scripts\acivate + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (molecoder\Scripts\acivate:String) [], CommandNotFoundException + FullyQualifiedErrorId : CouldNotAutoLoadModule
在我的例子中是因为我写了 acivate 而不是 activate,所以下面的修改有效
PS C:\foldername\virtualenvs> molecoder\Scripts\activate
在您的情况下,您尝试激活但激活在 envname/Scripts 内,您将前往错误的位置。
要修复它,您只需要 运行
PS C:\Users\piotr> bitcoin_notifications\Scripts\activate