起初我一直在conda基础环境中工作,并且工作正常,可以发现所有测试。但是,由于我想使用更多特定的程序包,因此我决定设置一个新环境是一个好主意。
在VS Code中,新环境只能找到一个包含2个测试的文件夹,而不能找到另一个。
但是,在Anaconda提示中,它找到了所有内容。
(test) C:\Users\<snip>\Dropbox\lit_code>tree
Folder PATH listing for volume Windows
Volume serial number is E028-2C24
C:.
├───.vscode
│ └───.ropeproject
├───basic
│ └───__pycache__
└───thermo
└───__pycache__
(test) C:\Users\<snip>\Dropbox\lit_code>where python
C:\Users\<snip>\Anaconda3\envs\test\python.exe
(test) C:\Users\<snip>\Dropbox\lit_code>python -m unittest
.......................
----------------------------------------------------------------------
Ran 23 tests in 0.004s
OK
(test) C:\Users\<snip>\Dropbox\lit_code>
这些是我无法正常使用的环境的vscode设置:
{
"python.pythonPath": "C:\\Users\\<snip>\\Anaconda3\\envs\\test\\python.exe",
"python.linting.pylintEnabled": true,
"python.linting.flake8Enabled": false,
"python.linting.enabled": true,
"python.testing.unittestArgs": [
"-v",
"-s",
".",
"-p",
"test*.py"
],
"python.testing.pytestEnabled": false,
"python.testing.nosetestsEnabled": false,
"python.testing.unittestEnabled": true,
}
与无法正常工作的环境的唯一区别是该行(这是我使用“ Python:选择解释器”时发生的变化:
"python.pythonPath": "C:\\Users\\<snip>\\Anaconda3\\python.exe"
当我使用非工作环境时,它只能在温度文件夹中找到测试。由于测试文件没有更改,因此我确定语法是可以的,这不是找不到它们的原因。我还检查了已在conda中安装了导入的模块,以便不会导致导入和测试发现失败。 (test)环境在anaconda提示符下正常工作,似乎证明了模块的正确安装。
我完全不知所措。我怀疑某些路径变量有些不同,但是我不知道在哪里看。
编辑:由于某种原因,如果我使用conda-forge频道并安装coolprop软件包(以及numpy,scipy,python和pylint),则确实会在VsCode中找到所有测试。我试图找出原因,但还没有发现这种魔术行为的原因(我尝试创建一个没有coolprop的环境,但是使用与coolprop的环境相同的python版本,但是该环境在vs代码中也无法正常工作)< / p>