我面临一个可能尚未解决的奇怪的python虚拟环境同步问题,并且我试图在网络上找到许多相关的问题和技术词汇。
这里是情况
A和B是我的两台笔记本电脑,我首先在A上使用virtualenvwrapper命令:“ mkvirtualenv temp_1”构建了python虚拟环境。在A上temp_1
的绝对地址为D:\Dropbox\python\envs\temp_1
,然后在构建后由Dropbox自动同步。
由于我的Dropbox的同步设置,当我使用B时,它当然已同步并下载到B中。
但是,安装在B上的Visual Studio Code在python虚拟环境temp_1
中找不到python解释器,并且始终显示消息
no python interpreter is selected
虽然绝对可以通过安装在A上的VS Code进行检测。此外,VS Code始终仅显示安装在C:\
(C:\Python\Python38-32\pyton.exe
)下但安装在temp_1下的原始python解释器,无论我如何设置B的VS Code中用户设置和工作区设置的python.pythonPath:
中settings.json
的python解释器的绝对地址。
如果我在B上的VS Code中选择了“原始python解释器”,则拥有B上的VS Code可以解决IDE找不到或无法识别python解释器的问题,将解释器地址重写为python.pythonPath:
。但是,相对地,在通过Dropbox将temp_1
的重写文件同步到A之后,在A上也会出现相同的问题。因此,当我返回使用安装在A上的VS Code时,在A上安装的VS Code无法找到并识别temp_1
中的python解释器,并显示问题消息,并在A的C:\
下提供了原始的python解释器。对python程序文件进行编码。
以下是我暂时使用的解决方案
[每次使用笔记本电脑进行更换时,我都必须使用virtualenvs
命令创建一个虚拟环境,该环境与虚拟环境中的temp_1
完全相同。例如:
D:\Dropbox\python\envs> workon temp_1
(temp_1) D:\Dropbox\python\envs> virtualenv temp_1
[完成上述步骤后,A上的VS代码(或通过Dropbox同步覆盖虚拟环境文件的便携式计算机)可以找到或识别内置于temp_1
中但位于[C0下的原始python目录中的解释器。 ]
即使它有效,对我(或任何人)也很烦。是否有任何解决方案可以同步python虚拟环境,并使用Dropbox在不同笔记本电脑上的VS Code安装程序中找到或识别它们?
似乎您将代码放置在虚拟环境中,这不是放置代码的适当位置。我会为您的项目创建一个目录,将您的代码放入其中,然后将虚拟环境安装到子目录中(例如C:\
)。然后,您可以将.venv
设置为.vscode/settings.json
值。