使用setuptools将本地软件包安装到virtualenv中

时间:2016-03-07 08:21:43

标签: python virtualenv setuptools

我有一个带有多个小项目的virtualenv。考虑到它们都是相同的,所以我的文件夹结构看起来像这样:

is first

我想将两个软件包安装到相同的virtualenv中,以便在virtualenv中随处可访问它们。

使用thisthis指南,我创建了一个categorisation_ml/ categorisation.py setup.py __init__.py nlp/ nlp.py setup.py __init__.py etc/ __init__.py 这样的脚本(在这种情况下用于分类):

setup.py

然后,我运行from setuptools import setup, find_packages setup( name = "categorisation", version = "1.0", scripts = ['categorisation.py'] ) ,这似乎成功完成 当我python setup.py install进入cd时,请输入nlp/命令行并尝试使用 python,我明白了:
import categorisation

我错过了什么?

1 个答案:

答案 0 :(得分:1)

似乎包结构和setup.py已关闭。它应该是这样的:

irrelevant_package_name/
    __init__.py
    setup.py
    categorisation_ml/
        categorisation.py
        __init__.py
    nlp/
        nlp.py
        __init__.py

然后安装脚本如下所示:

from setuptools import setup, find_packages

setup(
    name='package_name',
    version='1.0.0',
    description='This is a working setup.py',
    url='http://somesite.com',
    author='Roman',
    author_email='roman@somesite.com',
    packages=find_packages(),
    install_requires=[
        'numpy',
    ],
    zip_safe=False
)

然后像这样安装:

python setup.py install  #(just installs it as is)
python setup.py develop  #(Keeps track of changes for development)

如果你冻结这应该出现

package_name==1.0.0

然后在python中导入应该如下所示:

from categorisation_ml import categorisation
from nlp import nlp