如何确保python脚本使用虚拟环境? [英] How to make sure python script uses virtual environment?
问题描述
我创建了虚拟环境并激活了它.已安装的包,但无法从虚拟环境中导入.
I created virtual environment and activate it. installed packages but unable to import them from virtual environment.
pip freeze:
但尝试导入模块时出错:
But getting error trying to import module:
Traceback (most recent call last):
File "z:\Documents\Python\Projects\ProjectName\tempCodeRunnerFile.py", line 1, in <module>
import paramiko
ModuleNotFoundError: No module named 'paramiko'
如何确保.py文件使用虚拟环境?
How to make sure .py file uses virtual environment?
还有如果我跑
import sys
print(sys.path)
结果:
'C:\\Users\\Username\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages'
所以它不使用虚拟环境,对吗?
So it does not uses virtual environment, is that correct?
推荐答案
在许多情况下,没有必要激活虚拟环境.通常,您可以在不激活虚拟环境的情况下从任何地方执行以下操作:
In many cases it's not necessary to activate a virtual environment. Typically you could do something like the following from anywhere without activating the virtual environment:
C:\path\to\venv\Scripts\python.exe -m pip somecommand
C:\path\to\venv\Scripts\python.exe different\path\to\script.py
- 等
此外,您可以将 python.exe
的绝对路径指定为 Python 脚本顶部的she-bang,然后直接执行脚本(例如双击),无需显式调用 Python.
Additionally you could specify the absolute path to the python.exe
as a she-bang at the top of your Python script, and execute the script directly (for example with a double-click) without calling Python explicitly.
#!/path/to/venv/bin/python3
print("Hello world")
参考资料:
- https://docs.python.org/3/using/windows.html#shebang-lines
- https://docs.python.org/3/library/venv.html#creating-virtual-environments
这篇关于如何确保python脚本使用虚拟环境?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!