如何使我的脚本使用虚拟环境而不是系统?

时间:2019-05-15 19:16:30

标签: python windows virtualenv shebang

使用Windows,当在文本编辑器(Atom)中执行时,我无法使python脚本使用虚拟环境。

我知道如何使用命令行来使脚本使用虚拟环境(通过激活虚拟环境并运行脚本),但我希望能够在文本编辑器中工作。

我尝试包括shebang #!/usr/bin/env python来指示我的脚本使用虚拟环境(如建议的here),但是Windows可能实际上不支持shebangs(来自here和{ {3}})。我试图直接说明我的虚拟环境的路径,但不清楚如何做到这一点(我尝试了#!"C:\Users\...\my_project\venv\Scripts\python.exe"的变体)

请注意,我的文件结构是一个文件夹( my_project ),其中包含两个文件夹 venv (我的虚拟环境)和 my_code (其中 my_script.py )。

以下脚本从命令行执行时会打印来自虚拟环境的路径,而从文本编辑器执行时会显示系统的路径。另外,我已全局安装了sklearn,但未在虚拟环境中安装,并且从命令行(按需要)执行时,sklearn无法导入,而从文本编辑器中执行时,则无法导入。

#!/usr/bin/env python

import sys
print(sys.path)

from sklearn.cluster import KMeans

如何获取脚本以识别要使用的虚拟环境?

1 个答案:

答案 0 :(得分:0)

您需要制作一个虚拟环境,然后将其激活以使脚本使用虚拟环境。要在原子上执行此操作,请遵循this guide

在命令行中遵循以下引号应该可以正常工作。 (一旦激活,先cd /path/to/script,然后再python myscript.py

引用here

  

要创建虚拟环境,请确定要放置虚拟目录的目录,然后使用带有目录路径的脚本作为脚本运行venv模块:

     

python3 -m venv tutorial-env

     

创建虚拟环境后,可以激活它。

     

在Windows上,运行:

     

tutorial-env\Scripts\activate.bat