首页 > 解决方案 > 我成功发布了一个名为 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'] 
)

标签: pythonpackagepypi

解决方案


您需要package_data在调用中设置setup()in setup.py。没有它,.py您的包中将不会包含任何非文件。您可以在此处找到详细信息,但它可能看起来像

setup(
    ...
    package_data={'virtualp': ['CHANGELOG.txt', 'README.txt']}
)

推荐阅读