在Windows 8.1中安装virtualenvwrapper-powershell,导入模块失败。

4
我正在尝试按照这里的指南操作, 但我卡在Import-Module virtualenvwrapper步骤处,PowerShell不停地给我报错说:

import-module : 指定的模块“virtualenvwrapper”未加载,因为没有任何模块目录中找到有效模块文件。

At line:1 char:1

  • import-module virtualenvwrapper
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    • CategoryInfo : ResourceUnavailable: (virtualenvwrapper:String) [Import-Module], FileNotFoundException
    • FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand
我真的很困惑该怎么做,因为据我所知,从这个指南和其他一些指南来看,这一步应该是相当简单直接的。搜索这个问题并没有真的帮助我,因为我无法找到有同样问题的人。
2个回答

7
感谢您提供解决方案,这对我今天非常有帮助。我还想补充一点,在Windows 10上我不得不执行一个额外的步骤才能使它正常工作。
我尝试运行以下命令时遇到错误:
"Import-Module virtualenvwrapper"
"Get-Content : Cannot find path 'Function:\TabExpansion' because it does not exist."
我找到的解决方案是编辑VirtualenvWrapperTabExpansion.psm1文件的第15行,将其从以下内容修改为:
$_oldTabExpansion = Get-Content Function:TabExpansion

转换为:

$_oldTabExpansion = Get-Content Function:TabExpansion2

5

好的,我已经找到解决此问题的方法。我想pip安装程序从未将文件放置在PowerShell的正确模块目录中。我在我的文档文件夹中创建了一个WindowsPowerShell\Modules文件夹(该文件夹不存在但已列在我的PowerShell模块路径中)。然后,我从virtualenvwrapper-powershell bitbucket中获取VirtualEnvWrapper目录并将其复制到我刚创建的Modules文件夹中。

接下来,我需要使用Set-ExecutionPolicy Unrestricted而不是教程中提到的Set-ExecutionPolicy RemoteSigned,但我随后可以导入模块并使用所有所需内容。我不知道为什么我必须手动完成所有这些操作,而不是由pip完成它,但我希望这些操作对其他人有所帮助。


1
在我的情况下,Lib\site-packages 目录下创建了一个名为 Users 的文件夹,其中包含需要移动到文档文件夹中的 WindowsPowerShell\Modules 的模块。因此,除了从 Bitbucket 下载之外,其他步骤都相同。 - wchatx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接