通过setup.py在其他机器上安装python包

时间:2018-01-23 08:29:13

标签: python-3.x

我想在一些服务器上部署我的软件包,因为我遇到了setup.py的概念,所以想到尝试一个简单的poc.I从git下载了一个名为vision的软件包,并希望将其上传到其他一些软件包上机,

#!/usr/bin/env python
import os
import io
import re
import shutil
import sys
from setuptools import setup, find_packages


def read(*names, **kwargs):
    with io.open(
        os.path.join(os.path.dirname(__file__), *names),
        encoding=kwargs.get("encoding", "utf8")
    ) as fp:
        return fp.read()


def find_version(*file_paths):
    version_file = read(*file_paths)
    version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
                              version_file, re.M)
    if version_match:
        return version_match.group(1)
    raise RuntimeError("Unable to find version string.")


readme = open('README.rst').read()

VERSION = find_version('torchvision', '__init__.py')

requirements = [
    'numpy',
    'pillow >= 4.1.1',
    'six',
    'torch',
]

setup(
    # Metadata
    name='torchvision',
    version=VERSION,
    author='',
    author_email='',
    url='10.205.1.73',
    description='image and video datasets and models for torch deep learning',
    long_description=readme,
    license='BSD',

    # Package info
    packages=find_packages(exclude=('test',)),

    zip_safe=True,

)

这是我正在尝试的代码,我是新手,所以不知道所涉及的过程。我通过教程和示例了解了这些内容,但他们都指向了pypi网站。

1 个答案:

答案 0 :(得分:0)

  

为了极其简单,您始终可以使用subprocess模块。

使用subprocess.call(),您可以轻松调用终端命令: (鉴于这些命令不需要超级用户级别权限)

import subprocess as sub
sub.call(['apt-get install','something'],shell=True) 
#Here i am using aptik but you can use whatever you want eg. pip

注意:保持您的情况,您必须执行setup.py作为 root 才能通过此方法取得成功。 所以,像下面那样运行它会:

$sudo python setup.py