Anaconda发行说明中的​​“ PATH env var的精简值”是什么意思?

如何解决Anaconda发行说明中的​​“ PATH env var的精简值”是什么意思?

两天前,我在Windows计算机上卸载了“ Anaconda3 5.2.0”并重新安装了“ Anaconda3 2020.07”。根据安装程序的建议,当我去年安装Anaconda3 5.2.0或两天前重新安装Anaconda3 2020.07时,我没有将Anaconda路径添加到系统path环境变量中。当我使用Anaconda Prompt中的python时,事情进展顺利,因为Prompt已将Anaconda目录添加path变量中。

但是,在Anaconda Prompt之外使用Anaconda3 5.2.0和Anaconda3 2020.07时,我发现一个奇怪的不同行为。我有一个bat文件,其中包含一行C:\Anaconda3\python xxx.py,在xxx.py中,我导入了多个Python软件包,其中包括numpy。当我使用Anaconda 5.2.0时,可以通过双击成功执行此bat文件(这相当于在不知道Anaconda路径的普通CMD中运行C:\Anaconda3\python xxx.py)。但是,重新安装Anaconda3 2020.07后,运行此DLL load Failed文件时出现bat错误,因为无法成功导入numpy软件包。

我确定错误是由path变量引起的,我意识到在普通CMD中运行DLL load Failed时出现C:\Anaconda3\python xxx.py错误应该是一个合理的结果,因为{{如果没有将Anaconda目录添加到CMD中的DLL变量中,则找不到1}}。

我的问题是为什么它可以在Anaconda 5.2.0下成功执行。 Anaconda 5.2.0有什么特别之处?该命令为什么可以在普通CMD中找到这些path文件

然后,我检查了蟒蛇的release notes。在Anaconda 5.2.0 part下,我阅读以下内容

Windows安装程序使用PATH env var的精简值,以避免使用现有软件的DLL死机

我想这可能是原因。但是我无法理解DLL的含义。有谁知道Anaconda 5.2.0如何处理a trimmed down value for PATH env var变量,以便python解释器甚至可以在普通CMD中的Anaconda Prompt之外找到正确的path


p.s。

DLL错误并非特定于DLL load Failed软件包。我只是以它为例。

numpy中导入numpy时,错误是(最后一行):

xxx.py

如果在Original error was: DLL load Failed while importing _multiarry_umath: The specified module Could not be found.中导入sqlite3,则错误为(最后一行):

xxx.py

其他软件包也可能导致类似的问题。关键是在Anaconda Prompt外部使用的python解释器(通过编写完整路径ImportError: DLL load Failed while importing _sqlite3: %1 is not a valid Win32 application.,或者如果还安装了Python Launcher则使用C:\Anaconda3\python xxx.py)可以在Anaconda3 5.2下找到正确的py xxx.py .0,但在Anaconda3 2020.07下找不到正确的DLL,尽管在两种情况下Anaconda目录都未添加到系统DLL变量中。


这是path的示例。

xxx.py

解决方法

在这种情况下,精简可能意味着简化,以便更轻松地找出为什么PATH不能帮助您找到所需内容的原因。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?