Conda environment with pip -e : ModuleNotFoundError: No module named 'setuptools'
Conda environment with pip -e : ModuleNotFoundError: No module named 'setuptools'
我有一个带有一些标准依赖项的 conda 文件,然后我想使用 pip -e 安装一个客户包。我的 environment.yml
看起来像这样:
name: my_env
channels:
- conda-forge
- defaults
dependencies:
- python==3.7.0
- pip==19.3.1
- pip:
- -e ./path_to_my_package
当我尝试通过 运行ning conda env create -f conda.yml
创建环境时,环境创建失败并出现错误:ModuleNotFoundError: No module named 'setuptools'
。这很令人惊讶,我在 conda 包和我的 Ubuntu.
中安装了 setuptools
conda 尝试 运行 并抛出错误的命令是:
/home/path/to/my/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/path/to/my/package/setup.py'"'"'; __file__='"'"'/pat/to/my/package/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps
当我在 conda create
命令之外 运行 这个命令时,它运行良好。
我的setup.py
看起来很简单,其实就是:
import setuptools
if __name__ == "__main__":
setuptools.setup()
我惊呆了。有人可以帮忙吗?
编辑
我在 Windows Linux 的子系统(版本 1)
您的包裹中是否有适当的部分,例如 pyproject.toml
文件中这样
[metadata]
name = "mypackage"
version = "0.0.1"
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
另见 setuptools(注意 [metadata]
中的引号)
我有一个带有一些标准依赖项的 conda 文件,然后我想使用 pip -e 安装一个客户包。我的 environment.yml
看起来像这样:
name: my_env
channels:
- conda-forge
- defaults
dependencies:
- python==3.7.0
- pip==19.3.1
- pip:
- -e ./path_to_my_package
当我尝试通过 运行ning conda env create -f conda.yml
创建环境时,环境创建失败并出现错误:ModuleNotFoundError: No module named 'setuptools'
。这很令人惊讶,我在 conda 包和我的 Ubuntu.
conda 尝试 运行 并抛出错误的命令是:
/home/path/to/my/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/path/to/my/package/setup.py'"'"'; __file__='"'"'/pat/to/my/package/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps
当我在 conda create
命令之外 运行 这个命令时,它运行良好。
我的setup.py
看起来很简单,其实就是:
import setuptools
if __name__ == "__main__":
setuptools.setup()
我惊呆了。有人可以帮忙吗?
编辑
我在 Windows Linux 的子系统(版本 1)
您的包裹中是否有适当的部分,例如 pyproject.toml
文件中这样
[metadata]
name = "mypackage"
version = "0.0.1"
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
另见 setuptools(注意 [metadata]
中的引号)