POWERSHELL VENV无法加载模块“ bitcoin_notifications”

时间:2019-04-17 19:10:03

标签: python powershell virtualenv python-venv

我制作了一个名为bitcoin_notifications.py的venv,我打算激活它,但是:

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'. 在第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. 在第1行:char:1 +导入模块bitcoin_notifications + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo:ResourceUnavailable:(bitcoin_notifications:String)[导入模块],FileNotFoundException     + FullyQualifiedErrorId:Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

2 个答案:

答案 0 :(得分:0)

我不熟悉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缺少“脚本”部分,因此看起来并非如此) 。谢谢!

答案 1 :(得分:0)

我在使用Windows 10时遇到了非常相似的问题。

因此,最初安装了Python 3.7(添加到Path)并确保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:模块'molecoder'不能为   已加载。有关更多信息,请运行“导入模块Molecoder”。在第1行   字符数:1   + molecoder \ Scripts \ aciv   + ~~~~~~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:ObjectNotFound:(molecoder \ Scripts \ acivate:String)[],CommandNotFoundException       + FullyQualifiedErrorId:CouldNotAutoLoadModule

在我的情况下是因为我写了 acceptate 而不是 activate ,所以以下修改有效了

PS C:\foldername\virtualenvs> molecoder\Scripts\activate

在您要激活的情况下,但是激活位于 envname / Scripts 内部,您将转到错误的位置。

要修复它,您只需要运行

PS C:\Users\piotr> bitcoin_notifications\Scripts\activate