从gitbash for Windows

时间:2015-06-01 15:22:58

标签: python windows python-3.x virtualenv git-bash

我在windows(7,64bit)上使用gitbash。我尝试通过调用python -m venv venv使用python 3.4的内置venv模块创建一个venv,并且它成功创建,但是生成的venv不包含bash激活脚本,只有.bat和{ {1}}。

python 2.6.6(版本13.0.1)的virtualenv库在.ps1文件夹中创建了以下四个文件:venv/Scripts/activateactivate.batactivate.ps1

由于gitbash控制台无法使用bat或powershell脚本,我真的不想回到windows cmd提示符或VM,有什么方法可以让pyvenv创建一个shell脚本对我来说,当我在窗户上时?

5 个答案:

答案 0 :(得分:8)

您不必担心虚拟env bash脚本的存在转到 Git bash 并使用本主题中的答案中提到的. Scripts/activatesource Scripts/activate {{ 3}}

答案 1 :(得分:4)

此处的许多答案和评论引起很多混乱。他们中的一些人说您可以简单地执行. activate,而某些人(@nme)said则“由于只有activate.bat和Activate.ps1,您将收到“没有这样的文件或目录”错误。两者都不起作用。”

问题确实存在,如this issue中所述。而在Python 3.5.x和3.6.x及更高版本中,该问题was eventually fixed at Jan 2017。因此,2017年1月之后发布的仅Python 3.5.3 +,3.6.1 +,3.7将解决此问题。也可能是Python 2.7.14+。这意味着,如果您仍在阅读此“问答页面”,那么您需要做的第一件事就是检查您所使用的Python版本,然后可能进行升级。 (例如,我在一个旧的Python 3.6.0环境中遇到了同样的问题,升级到Python 3.7.2后,问题就消失了。)

答案 2 :(得分:3)

这是(目前)设计。

在Windows中,仅安装了命令提示符(.bat)和PowerShell(.ps1)脚本。 The venv documentation说“脚本的调用是特定于平台的” - 请参阅该文档中的表,其中列出了在不同平台上激活venv的命令。如果您查看venv源代码,您可以看到它区分Windows和POSIX环境并相应地安装脚本。

但是,有open bug请求还应安装其他shell的脚本。在等待可能解决的问题时,有一种解决方法:您可以从本地计算机或cPython hg repositorydirect link to the file)获取bash(或其他shell)脚本并将其放入脚本中特定于Windows的文件夹旁边的文件夹。您需要将__VENV_DIR__更改为您的venv所在的目录,__VENV_BIN_NAME__更改为“bin”,并__VENV_PROMPT__更改为当激活venv时bash提示符所需的任何内容(对于例如,“(env)”)。设置权限,你应该很高兴。

答案 3 :(得分:1)

以下代码解释了如何在Git Bash中名为project的文件夹中设置和启动名为env_project的virtualenv:

 FindString = Sheets("Sheet1").Range("D1").Value

答案 4 :(得分:1)

这对我有用:         。激活