python - 带有 pip -e 的 Conda 环境: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
当我尝试通过运行环境创建来创建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]
)
推荐阅读
- math - 基于输入数据的自动缩放散点图轴
- powerbi - Power BI 筛选列的 MAX
- jquery - 覆盖 jQuery 插件的 init 函数
- python - 如何从数据框中修改子类的自身数据?
- ruby-on-rails - 在 textarea 表单字段中编辑 JSONB 数据
- python - 如何在 Python 中避免区分大小写
- android - getSupportActionBar() 在片段中不支持
- python - matplotlib 动画在运行后立即关闭
- javascript - 循环并打印出(在 html 上)具有函数的对象数组
- javascript - Vue.js $emit 来自父级的事件并在组件(子级)上接收它