我正在尝试使用Python解释器并从Spyder中的虚拟环境(VE)安装软件包。但是,即使解释器相同,Spyder仍使用不同的软件包版本。
我创建了一个VE作为现有环境的克隆,并在激活VE之后安装了各种软件包。在Spyder中,我将解释器设置为以下路径:C:\ Users \ sxa \ AppData \ Local \ conda \ conda \ envs \ sebas \ python.exe 但是,在通过命令提示符运行的Spyder和Python中比较解释器路径和程序包版本时,会出现不一致的情况。
在Spyder中运行
import sys
import numpy as np
sys.executable
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\pythonw.exe'
np.__version__
'1.13.3'
通过命令提示符在Python中运行
import sys
import numpy as np
sys.executable
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\python.exe'
np.__version__
'1.16.0'
这个问题非常相似,但没有提供直接的解决方案: Same Interpreter(?), Different Package Version in Spyder
其中一项评论确实使我指出了问题所在。两者的sys.path输出不同。在Spyder中,路径链接到具有其他安装包的文件夹,然后再链接到所需的文件夹:
'C:\\Anaconda\\envs\\py35\\lib\\site-packages',
'C:\\Anaconda\\envs\\py35\\lib\\site-packages\\spyder',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebastest2',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\python35.zip',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\DLLs',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\lib',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas',
'C:\\Users\\sxa\\AppData\\Roaming\\Python\\Python35\\site-packages',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\lib\\site-packages',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\lib\\site-packages\\Babel-2.5.0-py3.5.egg',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\lib\\site-packages\\Mako-1.0.7-py3.5.egg',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\lib\\site-packages\\xgboost-0.6-py3.5.egg',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\lib\\site-packages\\fastrlock-0.3-py3.5-win-amd64.egg',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\lib\\site-packages\\cupy-3.0.0a1-py3.5-win-amd64.egg',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\lib\\site-packages\\win32',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\lib\\site-packages\\win32\\lib',
'C:\\Users\\sxa\\AppData\\Local\\conda\\conda\\envs\\sebas\\lib\\site-packages\\Pythonwin',
'C:\\Anaconda\\envs\\py35\\lib\\site-packages\\IPython\\extensions',
'C:\\Users\\sxa\\.ipython']
似乎我需要更改路径,但是我不知道该怎么做。该线程的答案(Change the priority of python sys.path)对我不起作用,因为我找到的相似文件的内容附加在sys.path列表的末尾。其他解决方案(how do I modify the system path variable in python script?)包括将文件夹的位置附加到sys.path对象,但这对我来说也解决不了,因为顺序需要更改。
我尝试在sys.path对象的第一个位置插入“ C:\ Users \ sxa \ AppData \ Local \ conda \ conda \ envs \ sebas \ lib \ site-packages”,但这不会更改numpy的版本之后导入。
因此,有人可以提供一种解决方案来帮助您更改路径,以便首先加载正确的软件包吗?