Virtualenv:"main.py" 给出错误但 "python main.py" 工作得很好
Virtualenv: "main.py" gives error but "python main.py" works perfectly fine
我创建了一个新的 virtualenv 来测试 fuzzywuzzy。我激活我的环境和 "pip install fuzzywuzzy"
我使用以下代码创建了一个文件 "main.py":
from fuzzywuzzy import fuzz
r = fuzz.ratio("this is a test", "this is a test!")
print(r)
回到控制台,我激活环境并输入 "main.py":
(fuzzytest) C:\Users\Family\Desktop\fuzzytest>main.py
Traceback (most recent call last):
File "C:\Users\Family\Desktop\fuzzytest\main.py", line 1, in <module>
from fuzzywuzzy import fuzz
ImportError: No module named 'fuzzywuzzy'
但是如果我这样做 "python main.py":
(fuzzytest) C:\Users\Family\Desktop\fuzzytest>python main.py
97
它工作正常。这是为什么?我做错了什么吗?
尝试使用 #! /usr/bin/env python
启动脚本。
根据 python docs。
这应该适用于 windows
Am I doing anything wrong?
是的。
1) pip
在特定目录中安装模块。
2) 当您使用 python
执行程序时,python 仅在特定目录中搜索您在程序中导入的模块。您可以通过查看输出来查看这些目录:
import sys
print(sys.path)
其中一个目录是 pip 用来安装模块的目录。
3) 当您尝试在没有 python 的情况下执行程序时,会搜索其他一些目录,而这些目录不包含 fuzzywuzzy 模块。
我创建了一个新的 virtualenv 来测试 fuzzywuzzy。我激活我的环境和 "pip install fuzzywuzzy"
我使用以下代码创建了一个文件 "main.py":
from fuzzywuzzy import fuzz
r = fuzz.ratio("this is a test", "this is a test!")
print(r)
回到控制台,我激活环境并输入 "main.py":
(fuzzytest) C:\Users\Family\Desktop\fuzzytest>main.py
Traceback (most recent call last):
File "C:\Users\Family\Desktop\fuzzytest\main.py", line 1, in <module>
from fuzzywuzzy import fuzz
ImportError: No module named 'fuzzywuzzy'
但是如果我这样做 "python main.py":
(fuzzytest) C:\Users\Family\Desktop\fuzzytest>python main.py
97
它工作正常。这是为什么?我做错了什么吗?
尝试使用 #! /usr/bin/env python
启动脚本。
根据 python docs。
这应该适用于 windowsAm I doing anything wrong?
是的。
1) pip
在特定目录中安装模块。
2) 当您使用 python
执行程序时,python 仅在特定目录中搜索您在程序中导入的模块。您可以通过查看输出来查看这些目录:
import sys
print(sys.path)
其中一个目录是 pip 用来安装模块的目录。
3) 当您尝试在没有 python 的情况下执行程序时,会搜索其他一些目录,而这些目录不包含 fuzzywuzzy 模块。