【问题标题】:Error while constructing custom Anaconda installer on Windows在 Windows 上构建自定义 Anaconda 安装程序时出错
【发布时间】:2019-02-14 10:39:43
【问题描述】:

我正在 Windows 10 64 位上创建自定义 Anaconda 安装程序。我创建了construct.yaml 喜欢:

name : TensorFlowEnv
version : 1.0.0
specs :
   - numpy
channels :
   - https://conda.anaconda.org/anaconda/win-64

运行construcor 命令后,出现以下错误

platform: win-64
Collecting package metadata: done
Solving environment: done
Checking for duplicate files ...

Checking for 'C:\Users\Equip\Anaconda3\envs\TensorFlowEnv\NSIS\makensis.exe'
NSIS version: v3.01
Traceback (most recent call last):
  File "C:\Users\Equip\Anaconda3\envs\TensorFlowEnv\Scripts\constructor-script.py", line 10, in <module>
    sys.exit(main())

  File "C:\Users\Equip\Anaconda3\envs\TensorFlowEnv\lib\site-packages\constructor\main.py", line 221, in main
    dry_run=opts.dry_run)
  File "C:\Users\Equip\Anaconda3\envs\TensorFlowEnv\lib\site-packages\constructor\main.py", line 128, in main_build
    create(info, verbose=verbose)
File "C:\Users\Equip\Anaconda3\envs\TensorFlowEnv\lib\site-packages\constructor\winexe.py", line 218, in create
    preconda_write_files(info, tmp_dir)
  File "C:\Users\Equip\Anaconda3\envs\TensorFlowEnv\lib\site-packages\constructor\preconda.py", line 135, in write_files
    write_index_cache(info, dst_dir)
 File "C:\Users\Equip\Anaconda3\envs\TensorFlowEnv\lib\site-packages\constructor\preconda.py", line 40, in write_index_cache
    write_repodata(cache_dir, url)
  File "C:\Users\Equip\Anaconda3\envs\TensorFlowEnv\lib\site-packages\constructor\conda_interface.py", line 61, in write_repodata
    fh.write(raw_repodata_str)
TypeError: write() argument must be str, not None

错误是:

TypeError: write() 参数必须是 str,而不是 None

任何帮助将不胜感激。

【问题讨论】:

    标签: python windows-installer anaconda conda


    【解决方案1】:

    我遇到了这个错误并解决了它。首先是出现此错误的步骤:

    我使用的是本地 conda 服务器。在执行“conda index”之后,我进入 /envs/someenv/conda-bld 并在其中运行“python -m http.server”。在那个文件夹中。哪个有效。在我的construct.yaml 中,我有'http://localhost:8000' 作为频道。这一直有效,直到我将我的 conda 包更新到更高版本。它不会在该 conda 频道中更新。

    现在解决错误的步骤:

    我做了一个“conda clean -i”,然后手动删除了该构建文件夹中的所有 repodata.json 和 index.html。并删除了所有缓存文件夹。还有在 win64 folde.r 然后我做了'conda index'。以及生成的索引文件和 repodata 都正确。然后,一旦完成,我再次进行 conda 构造并且安装程序可以工作。

    请注意,我必须强制“conda install conda=4.5.13 constructor=2.3.0”,并且不要使用conda v3 和更高版本的conda,因为它们会构建看起来正确但缺少文件的安装程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 1970-01-01
      相关资源
      最近更新 更多