【问题标题】:Verbose response after install conda package安装 conda 包后的详细响应
【发布时间】:2020-06-29 20:48:16
【问题描述】:

我在尝试安装几个软件包时遇到了以下问题。我将使用 sqlite3 作为示例。

当我在 Anaconda 提示符(“base”环境)中输入 conda install -c blaze sqlite3 时,我收到了以下输出。

我不确定这个问题是从什么时候开始的。我使用conda list -r 检查了我的修订。修订版 #35 - conda {4.8.3 (conda-forge/win-64) -> 4.8.3 (anaconda/win-64)} - 看起来很奇怪。

因此,我输入了conda install revision 34。当我这样做时,我被告知找不到conda-forge/win-64,这似乎很奇怪。如前所述,我不清楚修订版 34 与此错误之间是否存在关联。

sqlite3 包在 Anaconda Navigator 的“基础”环境中列出。

如何防止 conda 自动运行附加代码?

Collecting package metadata (current_repodata.json): done
Solving environment: /
Warning: 2 possible package resolutions (only showing differing packages):
  - anaconda/win-64::conda-4.8.3-py37_0
  - defaults/win-64::conda-4.8.3-py37done

## Package Plan ##

  environment location: C:\Users\morga\Anaconda3

  added / updated specs:
    - sqlite3


The following NEW packages will be INSTALLED:

  sqlite3            blaze/win-64::sqlite3-3.8.6-0


Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

C:\Users\morga>SET DISTUTILS_USE_SDK=1

C:\Users\morga>SET MSSdk=1

C:\Users\morga>SET platform=

C:\Users\morga>IF /I [AMD64] == [amd64] set "platform=true"

C:\Users\morga>IF /I [] == [amd64] set "platform=true"

C:\Users\morga>if defined platform (set "VSREGKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0" )  ELSE (set "VSREGKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0" )

C:\Users\morga>for /F "skip=2 tokens=2,*" %A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0" /v InstallDir') do SET "VSINSTALLDIR=%B"
ERROR: The system was unable to find the specified registry key or value.

C:\Users\morga>if "" == "" (set "VSINSTALLDIR=" )

C:\Users\morga>if "" == "" (
ECHO "WARNING: Did not find VS in registry or in VS140COMNTOOLS env var - your compiler may not work"
 GOTO End
)
"WARNING: Did not find VS in registry or in VS140COMNTOOLS env var - your compiler may not work"
The system cannot find the batch label specified - End

>>

我做了更多研究,似乎是包 vs2015_win-64 导致了问题。其他人也有类似的经历。

我执行了conda uninstall vs2015_win-64。卸载已启动然后停止,我收到以下错误。

当我尝试使用 conda install plotly 进行 plotly 安装时,发生了同样的事情。

Error processing line 1 of C:\Users\morga\Anaconda3\lib\site-packages\matplotlib-3.1.0-py3.7-nspkg.pth:

  Traceback (most recent call last):
    File "C:\Users\morga\Anaconda3\lib\site.py", line 168, in addpackage
      exec(line)
    File "<string>", line 1, in <module>
    File "<frozen importlib._bootstrap>", line 580, in module_from_spec
  AttributeError: 'NoneType' object has no attribute 'loader'

【问题讨论】:

  • 您确定不想要conda install sqlite=3 吗? sqlite3 包都来自非标准渠道,非常旧。

标签: python command-line anaconda conda


【解决方案1】:

这不太可能与该修订版中 conda 软件包的更改有关(它从 Conda Forge 的采购切换到 Anaconda 渠道)。相反,某些包包含additional installation scripts,必须在安装期间运行才能使包正常运行。目前没有任何方法可以阻止 Conda 执行此类脚本。

在此值得一提的是,这是一个很好的例子,说明为什么不应从不明确信任的渠道安装软件包。也就是说,在 Anaconda Cloud 中搜索随机用户频道上的包可能会导致运行用户已包含在包构建中的任意代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 2015-09-17
    • 1970-01-01
    相关资源
    最近更新 更多