我正在尝试通过 pythonw.exe 程序启动一个基本的 python(loop.pyw 文件)程序,只是为了在我的任务管理器中查看 python 脚本是否真的在执行自身。
这是程序:
import traceback
import os
try:
from stem import Signal
except ImportError:
f1 = open("C:/Users/mtigr/Desktop/Apprentissage-Projets Programmation/Python/ZCHANGEIP/traceback.txt", "a")
traceback.print_exc(file=f1)
f1.close()
try:
from stem.control import Controller
except ImportError:
f1 = open("C:/Users/mtigr/Desktop/Apprentissage-Projets Programmation/Python/ZCHANGEIP/traceback.txt", "a")
traceback.print_exc(file=f1)
f1.close()
try:
import requests
except ImportError:
f1 = open("C:/Users/mtigr/Desktop/Apprentissage-Projets Programmation/Python/ZCHANGEIP/traceback.txt", "a")
traceback.print_exc(file=f1)
f1.close()
import urllib
try:
from bs4 import BeautifulSoup
except ImportError:
f1 = open("C:/Users/mtigr/Desktop/Apprentissage-Projets Programmation/Python/ZCHANGEIP/traceback.txt", "a")
traceback.print_exc(file=f1)
f1.close()
import time
import urllib.request as urllib2
while True:
# Execute program
print("hi")
time.sleep(2)
如您所见,我使用回溯工具将回溯打印到文件中,结果如下:
Traceback (most recent call last):
File "C:\Users\mtigr\Desktop\Apprentissage-Projets Programmation\Python\ZCHANGEIP\loop.pyw", line 11, in <module>
from stem import Signal
ModuleNotFoundError: No module named 'stem'
Traceback (most recent call last):
File "C:\Users\mtigr\Desktop\Apprentissage-Projets Programmation\Python\ZCHANGEIP\loop.pyw", line 17, in <module>
from stem.control import Controller
ModuleNotFoundError: No module named 'stem'
Traceback (most recent call last):
File "C:\Users\mtigr\Desktop\Apprentissage-Projets Programmation\Python\ZCHANGEIP\loop.pyw", line 24, in <module>
import requests
ModuleNotFoundError: No module named 'requests'
Traceback (most recent call last):
File "C:\Users\mtigr\Desktop\Apprentissage-Projets Programmation\Python\ZCHANGEIP\loop.pyw", line 31, in <module>
from bs4 import BeautifulSoup
ModuleNotFoundError: No module named 'bs4'
该程序告诉我无法识别导入。我不明白为什么,因为我可以通过命令正确执行程序:
python loop.pyw
在命令提示符下。
我不明白进口的问题似乎是什么。问题真的在于 3 个进口词干、请求和美丽汤。我已经正确安装了每个模块,但我不知道为什么会这样,你能帮我吗?我需要为 pythonw.exe 指定一个文件夹吗?你能指导我吗?
谢谢!
编辑 我终于找到了答案。当我使用 pip 安装模块时,它会将它们安装在 Miniconda3 文件夹中(C:\Users\mtigr\Miniconda3\Lib\site-packages)。这些包还需要安装在 Oyhton 目录中(C:\Users\mtigr\AppData\Local\Programs\Python\Python36-32\Lib\site-packages),因为 pythonw 实际上使用的是这个目录而不是 Miniconda 目录。
因此,如果有人遇到和我一样的麻烦,那就有答案了。我通过打开 python IDLE 并尝试导入不同的模块找到了答案,我意识到其中一些可以工作,而另一些则不能,所以这有点让我耳目一新。然后我检查了python IDLE从哪里导入这些模块,我发现它与我安装它们的目录不同。
不管怎样,祝你有美好的一天!