`pip install .`抛出`[Errno 28]设备上没有剩余空间`

时间:2019-02-25 18:53:00

标签: python pip package setup.py

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

├── 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的配置。有什么选择可以有效地忽略这些文件,同时将它们保持在当前位置?

1 个答案:

答案 0 :(得分:0)

我使用命令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