如何解决带有 pip -e 的 Conda 环境:ModuleNotFoundError:没有名为“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
当我尝试通过运行 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()
我惊呆了。有人可以帮忙吗?
编辑
我使用的是适用于 Linux 的 Windows 子系统(版本 1)
解决方法
您的包是否有适当的部分,例如,pyproject.toml
这样的文件
[metadata]
name = "mypackage"
version = "0.0.1"
[build-system]
requires = ["setuptools","wheel"]
build-backend = "setuptools.build_meta"
另见setuptools(注意[metadata]
中的引号)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。