在安装程序中包括.gitignore? -错误:不存在或不是常规文件 [英] Including .gitignore in setup? - Error: doesn't exist or not a regular file
本文介绍了在安装程序中包括.gitignore? -错误:不存在或不是常规文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
from setuptools import setup, find_packages
from os import path
from functools import partial
if __name__ == '__main__':
package_name = 'gen'
templates_join = partial(path.join, path.dirname(__file__), package_name,
'templates')
setup(
name=package_name,
test_suite=package_name + '.tests',
packages=find_packages(),
package_dir={package_name: package_name},
package_data={package_name: [templates_join('.gitignore')]}
)
树
.
├── gen
│ ├── __init__.py
│ ├── templates
│ │ ├── __init__.py
│ │ ├── .gitignore
└── setup.py
错误
错误:无法复制'gen/ld/gen/templates/.gitignore':不存在或不是常规文件
error: can't copy 'gen/ld/gen/templates/.gitignore': doesn't exist or not a regular file
推荐答案
确认使用 data_files
在Linux和Windows上的virtualenv
内部/外部工作:
Confirmed that using data_files
works inside/outside a virtualenv
on Linux and Windows:
from setuptools import setup, find_packages
from os import path
from functools import partial
from pip import __file__ as pip_loc
if __name__ == '__main__':
package_name = 'gen'
templates_join = partial(path.join, path.dirname(__file__),
package_name, 'templates')
install_to = path.join(path.split(path.split(pip_loc)[0])[0],
package_name, 'templates')
setup(
name=package_name,
version='0.0.1',
test_suite=package_name + '.tests',
packages=find_packages(),
package_dir={package_name: package_name},
data_files=[(install_to, [templates_join('.gitignore'),
templates_join('logging.conf')])]
)
这篇关于在安装程序中包括.gitignore? -错误:不存在或不是常规文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文