在没有任何 python 子包的情况下创建的 pip wheel
pip wheel created without any python sub-packages
操作系统和版本
Ubuntu 18.04 虚拟机由 WIN10 托管
Python版本
Python 2.7.15rc1
pip 版本
点子 18.0
描述
*我正在尝试打包创建的 Django 项目和 wheel 但没有任何 python 子包
请问我缺少什么??
*
文件夹结构
zoharngo@zoharngo-VirtualBox:~/todobackend$ tree -L 4
.
├── manage.py
├── setup.py
└── todobackend
├── __init__.py
├── todo
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ └── __init__.py
│ ├── models.py
│ ├── serializers.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
└── todobackend
├── __init__.py
├── settings
│ ├── base.py
│ ├── __init__.py
│ ├── release.py
│ └── test.py
├── urls.py
└── wsgi.py
setup.py
from setuptools import setup, find_packages
setup(
name = "todobackend",
version = "0.1.0",
description = "TodoBackend Djnago REST service",
package = find_packages(),
include_package_data = True,
scripts = ["manage.py"],
install_requires = ["Django>=1.9,<2.0",
"django-cors-headers>=2.4.0",
"djangorestframework>=3.8.2",
"MySQL-python>=1.2.5",
"uwsgi>=2.0"
],
extras_require = {
"test": [
"colorama>=0.3.9",
"coverage>=4.5.1",
"django-nose>=1.4.5",
"nose>=1.3.7",
"pinocchio>=0.4.2"
]
}
)
据我所知,唯一的轮子将是你的包,其他的将在 setup.py 是 运行 时下载。如果你想创建一个不需要下载的工件,可以执行以下操作(假设文件夹 venv
中有一个 virtualenv):
venv/bin/pip download --dest wheels/ --no-cache-dir .
venv/bin/python setup.py sdist --dist-dir="wheels"
tar -czvf dist/artefact.tar.gz wheels/
您可以使用
将此人工制品重新打包到 venv 中而无需下载任何内容
tar -xzf artefact.tar.gz
virtualenv --no-download venv
venv/bin/pip install --force-reinstall --no-index --no-cache-dir --find-links=./wheels/ todobackend
操作系统和版本
Ubuntu 18.04 虚拟机由 WIN10 托管
Python版本
Python 2.7.15rc1
pip 版本
点子 18.0
描述
*我正在尝试打包创建的 Django 项目和 wheel 但没有任何 python 子包
请问我缺少什么?? *
文件夹结构
zoharngo@zoharngo-VirtualBox:~/todobackend$ tree -L 4
.
├── manage.py
├── setup.py
└── todobackend
├── __init__.py
├── todo
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ └── __init__.py
│ ├── models.py
│ ├── serializers.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
└── todobackend
├── __init__.py
├── settings
│ ├── base.py
│ ├── __init__.py
│ ├── release.py
│ └── test.py
├── urls.py
└── wsgi.py
setup.py
from setuptools import setup, find_packages
setup(
name = "todobackend",
version = "0.1.0",
description = "TodoBackend Djnago REST service",
package = find_packages(),
include_package_data = True,
scripts = ["manage.py"],
install_requires = ["Django>=1.9,<2.0",
"django-cors-headers>=2.4.0",
"djangorestframework>=3.8.2",
"MySQL-python>=1.2.5",
"uwsgi>=2.0"
],
extras_require = {
"test": [
"colorama>=0.3.9",
"coverage>=4.5.1",
"django-nose>=1.4.5",
"nose>=1.3.7",
"pinocchio>=0.4.2"
]
}
)
据我所知,唯一的轮子将是你的包,其他的将在 setup.py 是 运行 时下载。如果你想创建一个不需要下载的工件,可以执行以下操作(假设文件夹 venv
中有一个 virtualenv):
venv/bin/pip download --dest wheels/ --no-cache-dir .
venv/bin/python setup.py sdist --dist-dir="wheels"
tar -czvf dist/artefact.tar.gz wheels/
您可以使用
将此人工制品重新打包到 venv 中而无需下载任何内容tar -xzf artefact.tar.gz
virtualenv --no-download venv
venv/bin/pip install --force-reinstall --no-index --no-cache-dir --find-links=./wheels/ todobackend