我正在尝试安装在本地开发的软件包。目录的结构是这样的:
├── mycode
│ └── __init__.py
| └── somefuncs.py
├── Data
│ └── ...
└── Notebooks
└── ...
为方便起见,我将一些jupyter笔记本和分析数据保存在Notebooks
和Data
上。在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'
,其中X
是Notebooks
,Data
和mycode
中的所有文件。
看来pip
正在忽略MANIFEST.in
和setup.py
的配置。有什么选择可以有效地忽略这些文件,同时将它们保持在当前位置?
答案 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
。