如何在ubuntu上的python 2.7中创建wheel包

时间:2016-04-21 10:01:39

标签: python setuptools pypi python-wheel

我有一个问题,我想在Ubuntu上使用python 2.7中的setuptools打包一个学习目的的应用程序。我成功地能够创建轮(.whl)文件。我把它上传到pypi并尝试下载并安装到其他Ubuntu系统中,它安装得很好。但我不知道如何使用已安装的轮组件。任何人都可以用简单的方式指导我这个过程吗?我厌倦了在网络上查看这些信息并且还没有发现任何有用的信息。请帮忙。

这是简单的结构

指南(XYZ)

XYZ / index.py

XYZ / setup.py

index.py包含 -

print "hello from index"

setup.py包含 -

from setuptools import setup

setup
(     name='vivek',
      version='0.1',
      description='The test upload',
      author='TEST',
      scripts=["index.py",],
      author_email='flyingcircus@example.com',
      zip_safe=False)

应用命令 sudo python setup.py bdist_wheel 在XYZ目录中生成这些 -

build (directory) , dist (directory)  , index.py , index.py~  , setup.py ,   setup.py~  ,  vivek.egg-info (directory)

dist 目录中,我将上传到pypi-的滚轮文件 的的Vivek-0.1-PY2-NONE-any.whl

现在我的问题是如何在其他系统上安装此轮文件( sudo pip install vivek )?如果我尝试在其他模块中导入它,它会说"找不到模块vivek"。 如果我只是输入' vivek'在终端上它说"没有命令vivek找到"。解决这个问题的方法是什么?请帮忙。在此先感谢:)

1 个答案:

答案 0 :(得分:0)

我弄明白了如何让它发挥作用。如果有人在这里得到这个问题是我如何解决它 -

我在 XYZ 目录中创建了另一个名为 project 的目录,在项目目录中我创建了一个空白文件 __ init __。py ,我也移动了索引.py进入项目目录。我将setup.py留在XYZ目录中。 所以现在结构是这样的 -

XYZ /项目/的 index.py

XYZ /项目/ <强> __初始化__。PY

index.py

def fun():
    print "hello from vivek fun"
setup.py 中的

代码
from setuptools import setup
setup(
name = "vivek",
version = 1.0,
packages = ["project"],
scripts = ["project/index.py",],
)

然后将其打包到wheel文件中我从XYZ目录执行相同的过程( sudo python setup.py bdist_wheel )并像往常一样生成轮文件  我上传到pypi和另一个系统的 vivek-1.0-py2-none-any.whl ,我使用 sudo pip install vivek 下载并安装了其他系统上的软件包系统

现在测试我写了一个测试文件&#34; test.py &#34; (在其他系统上)

test.py

import project.index
project.index.fun()

它有效! :)