正如问题所暗示的,我有一个双启动设置,其中 Python 脚本存储在我的 Windows 分区中。
我在单独的硬盘上安装了 ubuntu,并且可以成功运行存储在其自己的硬盘中的 python 文件。
以下脚本作为副本保存在 Windows 分区和 Ubuntu 分区中:
from bs4 import BeautifulSoup as bs4
import os
from tqdm import tqdm
import sys
print(sys.executable)
print(sys.path)
print('it worked')
使用采用 ubuntu OS 的两个 VSCode 实例,我尝试从每个文件路径运行脚本得到以下结果:
Windows 分区中的文件路径:
/bin/python3 "/media/saleem/84E859C6E859B760/Users/sim77/Dropbox/Literature Searcher/Scripts/new.py"
(base) saleem@saleem-desktop:/media/saleem/84E859C6E859B760/Users/sim77/Dropbox/Literature Searcher/Scripts$ /bin/python3 "/media/saleem/84E859C6E859B760/Users/sim77/Dropbox/Literature Searcher/Scripts/new.py"
Traceback (most recent call last):
File "/media/saleem/84E859C6E859B760/Users/sim77/Dropbox/Literature Searcher/Scripts/new.py", line 1, in <module>
from bs4 import BeautifulSoup as bs4
ModuleNotFoundError: No module named 'bs4'
ubuntu 分区中的文件路径:
(base) saleem@saleem-desktop:~$ source /home/saleem/anaconda3/bin/activate
(base) saleem@saleem-desktop:~$ conda activate base
(base) saleem@saleem-desktop:~$ /home/saleem/anaconda3/bin/python /home/saleem/Documents/new.py
/home/saleem/anaconda3/bin/python
['/home/saleem/Documents', '/home/saleem/anaconda3/lib/python38.zip', '/home/saleem/anaconda3/lib/python3.8', '/home/saleem/anaconda3/lib/python3.8/lib-dynload', '/home/saleem/anaconda3/lib/python3.8/site-packages', '/home/saleem/anaconda3/lib/python3.8/site-packages/locket-0.2.1-py3.8.egg']
it worked
据我所知,当使用来自 Windows 分区的文件时,使用的是不同的解释器。我只是尝试使用与使用后一个路径时相同的解释器,但通过访问第一个路径中的文件。
有没有办法可以有效地做到这一点?