【问题标题】:`pip install .` throws `[Errno 28] No space left on device``pip install .` 抛出 `[Errno 28] No space left on device`
【发布时间】:2019-02-28 23:56:43
【问题描述】:

我正在尝试安装我在本地开发的软件包。目录结构是这样的:

├── mycode
│   └── __init__.py
|   └── somefuncs.py
├── Data
│   └── ...
└── Notebooks
    └── ...

为方便起见,我将一些 jupyter 笔记本和分析数据保存在 NotebooksData 上。在MANIFEST.in 我已经包含了这些行

exclude Notebooks/*.*
exclude Data/*.*

在 setup.py 中,我还包含了 packages=setuptools.find_packages(exclude=['Data', 'Notebooks']) 行。

但是,当我运行 pip install . 时,我收到一条包含结构的大消息 '/tmp/pip-req-build-ymqucesw/X', '[Errno 28] No space left on device',其中XNotebooksDatamycode 中的所有文件。

看起来pip 忽略了MANIFEST.insetup.py 配置。是否有任何选项可以有效地忽略这些文件,同时将它们保留在与当前相同的位置?

【问题讨论】:

  • 根据错误信息,为什么你认为pip 忽略了MANIFEST.inisetup.py 配置?您为什么不认为设备中没有足够的空间,正如错误消息所说的那样?
  • 我打算做的是避免pip 使用MANIFESTsetup 读取其余文件。其余需要集成的文件,也就是脚本,占用的空间不超过 50 kb,我在磁盘中有这个空间。

标签: python pip package setup.py


【解决方案1】:

我使用命令python setup.py sdist 而不是pip install . 解决了这个问题。 MENIFEST.in 文件必须包含

prune Notebooks
prune Data

setup.py 文件必须具有packages=setuptools.find_packages(exclude=['Data', 'Notebooks'])include_package_data=True 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2019-01-30
    • 2016-10-05
    • 1970-01-01
    • 2016-11-28
    • 2020-01-18
    • 2020-04-02
    相关资源
    最近更新 更多