试图利用 Conda 的构建功能来安装不在 conda 存储库中的包。我已经下载了我想要的包的源文件。在同一级别,我为我的conda recipes创建了一个文件夹,其中包含meta.yaml
设置source: path: ../<package-name>
。因此,查找一个目录以找到源文件。这行得通。
当构建尝试测试导入包时,问题发生在最后。它说x module not found,但我conda build
从 conda 环境中调用,其中安装了丢失的包,如conda list
.
我如何知道在什么环境conda build
中执行这些测试?
使用时如何设置环境conda build
?
Conda Build文档中充满了environment一词无济于事,但这主要是指环境变量而不是conda 环境
(base) C:\Users\myhome\PyTools\bin>conda info
active environment : base
active env location : C:\Users\myhome\Miniconda3_64-4.5.4
shell level : 1
user config file : C:\Users\myhome\.condarc
populated config files : C:\Users\myhome\.condarc
conda version : 4.5.4
conda-build version : 3.18.9
python version : 3.6.5.final.0
base environment : C:\Users\myhome\Miniconda3_64-4.5.4 (writable)
channel URLs : https://conda.anaconda.org/anaconda/win-64
https://conda.anaconda.org/anaconda/noarch
https://repo.anaconda.com/pkgs/main/win-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/win-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/win-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/pro/win-64
https://repo.anaconda.com/pkgs/pro/noarch
https://repo.anaconda.com/pkgs/msys2/win-64
https://repo.anaconda.com/pkgs/msys2/noarch
https://conda.anaconda.org/conda-forge/win-64
https://conda.anaconda.org/conda-forge/noarch
package cache : C:\Users\myhome\Miniconda3_64-4.5.4\pkgs
C:\Users\myhome\AppData\Local\conda\conda\pkgs
envs directories : C:\Users\myhome\Miniconda3_64-4.5.4\envs
C:\Users\myhome\AppData\Local\conda\conda\envs
C:\Users\myhome\.conda\envs
platform : win-64
user-agent : conda/4.5.4 requests/2.18.4 CPython/3.6.5 Windows/10 Windows/10.0.17763
administrator : False
netrc file : None
offline mode : False
(myenv) C:\Users\myhome\PyTools\bin>conda build <module to install>
...
set PREFIX=C:\Users\myhome\Miniconda3_64-4.5.4\conda-bld\swaggerpy_1568484873987\_test_env
set SRC_DIR=C:\Users\myhome\Miniconda3_64-4.5.4\conda-bld\swaggerpy_1568484873987\test_tmp
(myenv) %SRC_DIR%>call "%SRC_DIR%\conda_test_env_vars.bat"
(myenv) %SRC_DIR%>call "C:\Users\myhome\Miniconda3_64-4.5.4\Scripts\activate.bat" "%PREFIX%"
(%PREFIX%) %SRC_DIR%>IF 0 NEQ 0 exit 1
(%PREFIX%) %SRC_DIR%>IF 0 NEQ 0 exit 1
(%PREFIX%) %SRC_DIR%>"%PREFIX%\python.exe" -s "%SRC_DIR%\run_test.py"
Traceback (most recent call last):
import: 'swaggerpy'
File "C:\Users\myhome\Miniconda3_64-4.5.4\conda-bld\swaggerpy_1568484873987\test_tmp\run_test.py", line 2, in <module>
import swaggerpy
File "C:\Users\myhome\Miniconda3_64-4.5.4\conda-bld\swaggerpy_1568484873987\_test_env\lib\site-packages\swaggerpy\__init__.py", line 13, in <module>
from .swagger_model import load_file, load_json, load_url, Loader
File "C:\Users\myhome\Miniconda3_64-4.5.4\conda-bld\swaggerpy_1568484873987\_test_env\lib\site-packages\swaggerpy\swagger_model.py", line 15, in <module>
from swaggerpy.http_client import SynchronousHttpClient
File "C:\Users\myhome\Miniconda3_64-4.5.4\conda-bld\swaggerpy_1568484873987\_test_env\lib\site-packages\swaggerpy\http_client.py", line 11, in <module>
import requests
ModuleNotFoundError: No module named 'requests'
(%PREFIX%) %SRC_DIR%>IF 1 NEQ 0 exit 1
Tests failed for swaggerpy-0.2.1-py36_0.tar.bz2 - moving package to C:\Users\myhome\Miniconda3_64-4.5.4\conda-bld\broken
WARNING:conda_build.build:Tests failed for swaggerpy-0.2.1-py36_0.tar.bz2 - moving package to C:\Users\myhome\Miniconda3_64-4.5.4\conda-bld\broken
TESTS FAILED: swaggerpy-0.2.1-py36_0.tar.bz2
(myenv) C:\Users\myhome\PyTools\bin>conda list
# packages in environment at C:\Users\myhome\Miniconda3_64-4.5.4\envs\myenv:
#
# Name Version Build Channel
...
requests 2.22.0 py36_0 anaconda
...