Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 康达在激活环境外寻找库_Python_Python 3.x_Windows_Conda - Fatal编程技术网

Python 康达在激活环境外寻找库

Python 康达在激活环境外寻找库,python,python-3.x,windows,conda,Python,Python 3.x,Windows,Conda,我在Windows上工作,我发现conda创建的环境在导入行为上存在差异,我无法理解,下面是详细信息 案例1(成功) (基本)C:\>康达激活 (环境名称)C:\>python >>>进口numpy (成功) 案例2(失败) C:\>cd C:\conda env>python的路径 >>>进口numpy (失败) 我以前用ssl软件包遇到过这个问题,可以通过从conda forge安装软件包,而不是从default安装软件包来解决,所以这似乎是软件包的问题 麻烦的是,当我检查sys.pat

我在Windows上工作,我发现conda创建的环境在导入行为上存在差异,我无法理解,下面是详细信息

案例1(成功)

(基本)C:\>康达激活
(环境名称)C:\>python
>>>进口numpy
(成功)
案例2(失败)

C:\>cd
C:\conda env>python的路径
>>>进口numpy
(失败)
我以前用
ssl
软件包遇到过这个问题,可以通过从
conda forge
安装软件包,而不是从
default
安装软件包来解决,所以这似乎是软件包的问题

麻烦的是,当我检查
sys.path
sys.executable
在这两种情况下都相同时,import语句似乎在我的conda env之外加载了一些内容

我错过了什么?欢迎任何意见

关于

我用Anaconda 2018.12重现了我这边的问题(相同的
系统路径
,排除了我最初的猜测:%PYTHONPATH%)。环境设置(无论是Ancaonda、VEnv或任何其他此类工具)包括(主要)设置一些环境变量

在使用更多的模块(除了numpy和ssl)进行测试之后,通过查看错误,我意识到失败的模块有自己的其他.dll依赖项。考虑到这一点,我在Python进程中显示了我的%PATH%变量的内容。在启用conda的版本中,以下路径在开始时出现:

导入操作系统 >>>导入pprint >>> >>>pprint.pprint(os.environ[“路径”]) ('e:\\Install\\x64\\Anaconda\\Anaconda\\2018.12;e:\\Install\\x64\\Anaconda\\Anaconda\\2018.12\\Library\\mingw-w64\\bin;e:\\Install\\x64\\Anaconda\\Anaconda\\2018.12\\Library\\usr\\bin;e:\\Install\\x64\\Anaconda\\Anaconda\\2018.12\\Library\\bin;e:\\Install\\x64\\Anaconda\\Anaconda\\2018.12\\Scripts;e:\\Install\\x64\\Anaconda\\Anaconda\\2018.12\\bin; #其余的目录(常规目录) 不用说,在启动normalPython之前,在我的%PATH%中预先设置了这些内容之后,问题就消失了:

e:\Install\x64\Anaconda\Anaconda\2018.12>设置路径=e:\Install\x64\Anaconda\Anaconda\2018.12;e:\Install\x64\Anaconda\Anaconda\2018.12\Library\mingw-w64\bin;e:\Install\x64\Anaconda\Anaconda\2018.12\Library\bin;e:\Install\x64\Anaconda\Anaconda\Anaconda\2018.12\Library\bin;e:\Install\x64\Anaconda\Anaconda\2018.12\Scripts\da\2018.12\bin;%PATH%
e:\Install\x64\Anaconda\Anaconda\2018.12>python
Python 3.7.1(默认值,2018年12月10日,22:54:23)[MSC v.1915 64位(AMD64)]::win32上的Anaconda,Inc
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>进口numpy
>>>导入ssl
但是,您应该始终遵循推荐的方法(特别是在不完全了解发生了什么的情况下),这就是激活环境,因为即使这种方法适用于此场景,也可能不适用于其他场景

@EDIT0

如我在其中一条评论中所述,为了向PyCharm添加环境,请按照中的步骤进行操作,并提及以下内容:

  • 在步骤#4.确保选择“Conda环境”而不是“VirtualEnvironment”
  • 显然,在启动Python控制台时问题仍然存在。情况不应该如此,似乎环境没有设置。可能是因为我没有创建环境,我只是从根Anaconda安装启动Python?无论如何,作为一种解决方法(gainarie),我正在应用相同的更改(设置%PATH%)对于Python控制台(从“设置->构建、执行、部署->控制台->Python控制台”),如下图所示:

    重新启动控制台后,一切正常


您需要激活您的环境。 请注意:

(base) C:\> conda activate <env-name>
(env-name) C:\> python
>>> import numpy
(Success)
您正在导航到该环境的文件夹,但您没有使用它所拥有的python环境

尝试使用:

which python

查看您正在使用的python版本。

问题可能是您的系统路径上有一条python,当conda env未激活时将使用该python。设置%path%后,
os.Enviro[“path”]的内容是什么
?希望您没有复制/粘贴答案中的路径,因为它们仅在我的计算机上有效。错误是什么(如果必须,请编辑问题)?谢谢,事实上,我是通过pyCharm 2)和IIS托管django来解决这个问题的。经过多次搜索后,我都不知道如何激活环境。以我有限的知识,它看起来像怪物,所以我问了这个问题,谢谢你的回答!删除了我在事故中保存的第一条评论,尝试在我的环境下添加conda activate添加的路径,一切正常,谢谢!以下是如何在PyCharm中设置Python解释器:。唯一的区别是,在第4步,您应该选择“Conda环境”(而不是Vitrualenv),它应该可以工作,而不需要任何其他更改。嗨,CristiFati,我对解释器部分很在行,问题是PyCharm中的Python控制台,它将有相同的导入问题。通过您的第一次重播,我能够在调用交互控制台之前找到设置路径的设置,这就解决了问题,再次感谢!
(base) C:\> conda activate <env-name>
(env-name) C:\> python
>>> import numpy
(Success)
C:\> cd <path-to-conda-env>
C:\path-to-conda-env> python
>>> import numpy
(Fail)
which python