python - 我成功发布了一个名为 virtualp 的 python 包。但是当我安装包时它会抛出错误
问题描述
这是错误
Defaulting to user installation because normal site-packages is not writeable
Collecting virtualp
Using cached virtualp-0.0.1.tar.gz (2.1 kB)
ERROR: Command errored out with exit status 1:
command: 'C:\Program Files (x86)\Python36-32\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\SANTOS~1\\AppData\\Local\\Temp\\pip-install-kkg3ajy_\\virtualp\\setup.py'"'"'; __file__='"'"'C:\\Users\\SANTOS~1\\AppData\\Local\\Temp\\pip-install-kkg3ajy_\\virtualp\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\SANTOS~1\AppData\Local\Temp\pip-pip-egg-info-_kzh3r8q'
cwd: C:\Users\SANTOS~1\AppData\Local\Temp\pip-install-kkg3ajy_\virtualp\
Complete output (5 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\SANTOS~1\AppData\Local\Temp\pip-install-kkg3ajy_\virtualp\setup.py", line 15, in <module>
long_description=open('README.txt').read() + '\n\n' + open('CHANGELOG.txt').read(),
FileNotFoundError: [Errno 2] No such file or directory: 'CHANGELOG.txt'
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
*我使用这个命令安装包--> python -m pip install virtualp *
这是 setup.py 文件
从 setuptools 导入设置,find_packages
classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Education',
'Operating System :: Microsoft :: Windows :: Windows 10',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3'
]
setup(
name='virtualp',
version='0.0.1',
description='you can use for Virtual Paints',
long_description=open('README.txt').read() + '\n\n' + open('CHANGELOG.txt').read(),
url='',
author='Santosh Burada',
author_email='santu.burada99@gmail.com',
license='MIT',
classifiers=classifiers,
keywords='computer-vision',
packages=find_packages(),
package_data={'virtualp': ['CHANGELOG.txt', 'README.txt']},
install_requires=['opencv-python', 'numpy']
)
解决方案
您需要package_data
在调用中设置setup()
in setup.py
。没有它,.py
您的包中将不会包含任何非文件。您可以在此处找到详细信息,但它可能看起来像
setup(
...
package_data={'virtualp': ['CHANGELOG.txt', 'README.txt']}
)
推荐阅读
- javascript - 如何选择一整列
- python - 如何使用 python 绳索重构模块?
- python - 为什么 ndiff (Python 3) 以三种不同的方式报告差异
- reactjs - 使用 CDN 为 S3 静态网站提供 node_modules
- javascript - React 状态未更新,尝试使用 ES6 语法
- mysql - 创建新的 Phoenix 项目时,用户'root'@'localhost' 的 MySQL 访问被拒绝
- android - 在 Kotlin 的 Firebase Auth 中获取当前登录用户的 ID
- rest - 如何创建指向 Google 文档最后命名版本的 PDF 链接?
- python - 使用参数替换给出列名时 MySQL 语法错误
- java - 如何使用流或其他更好的方式解析字符串?