手动向virtualenv添加模块 [django,python]

0 投票
2 回答
656 浏览
提问于 2025-04-18 12:38

我有一个虚拟环境,里面有一个Django项目。现在我想添加一个我自己写的模块,叫做 RandomTools.py。我把这个文件放到虚拟环境的 \Lib\site-packages 文件夹里,然后通过这个虚拟环境运行项目,结果出现了一个错误:

ImportError: No module named RandomTools.py

那我应该把这个模块文件放在哪里呢?

2 个回答

0

你应该为你的模块创建一个文件夹,而不是直接把文件放到 \Lib\site-packages 里。

比如,你可以把这个文件夹命名为:RandomToolsFolder。

在 RandomTools 文件夹里,

你必须有一个 __init__.py 文件,这个文件的作用是告诉 Python 这个目录是一个模块。然后你可以把你的 RandomTools.py 文件放在同一个目录里。

这样,你的导入语句就会是:

    from RandomToolsFolder import RandomTools
0

我建议你为你的模块创建一个setup.py文件。

文件夹结构:

/
/setup.py
/RandomTools/*

setup.py文件内容:

from setuptools import setup, find_packages
setup(
    name = "RandomTools",
    version = "0.1",
    packages = find_packages(),
)

然后你可以通过运行 python setup.py install 来安装你的RandomTools。

你可以在 这里 阅读完整的文档。

撰写回答