【发布时间】:2023-12-12 20:42:01
【问题描述】:
我有一个 virtualenv,里面有多个小项目。考虑到它们都是平等的,所以我的文件夹结构如下所示:
categorisation_ml/
categorisation.py
setup.py
__init__.py
nlp/
nlp.py
setup.py
__init__.py
etc/
__init__.py
我想将这两个软件包安装到同一个 virtualenv 中,以便在 virtualenv 中的任何地方都可以访问它们。
使用this 和this 指南,我创建了一个像这样的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,我得到:ImportError: No module named categorisation。
我错过了什么?
【问题讨论】:
-
哪个 python 正在运行
python setup.py install命令? virtualenv 或用户的 python。该软件包是否安装在您的 virtualenv 之外? -
@TomRon python 的 virtualenv 用完了。不,似乎该软件包已安装到 virtualenv 中。 virtualenv 被称为
scienv。不知道这是否重要,但 categorisation.py 有#!/usr/bin/env pythonshebang -
运行
scienv/bin/pip freeze时得到什么输出?您是否使用scienv/bin/python setup.py install安装了该软件包? -
@TomRon 输出包含
categorisation==1.0。是的,我用 virtualenv python 安装了它 -
@leoschet 我很快就回答了我自己的问题。还没有测试过,但应该可以。
标签: python virtualenv setuptools