使用pip安装单文件Python模块

11 投票
1 回答
3252 浏览
提问于 2025-04-16 18:29

我在想有没有办法用pip来“安装”单文件的Python模块(也就是说,只让pip下载指定版本的文件,然后把它复制到site-packages文件夹里)。

我有一个Django项目,里面用到了几个第三方模块,这些模块并不是正规的发布包(比如django-thumbs和其他几个),我想用pip freeze把所有的依赖都列出来,这样在其他地方安装这个项目会更方便。我试过直接运行

pip install git+https://github.com/path/to/file.git

(我也试过加上-e这个选项),但是pip报错说没有setup.py文件。

补充一下:我之所以想这样做,是为了能把需要的模块写进requirements.txt文件里,这样在新机器或者新的虚拟环境中设置项目会更简单。

1 个回答

2

pip 是一个用来安装 Python 包的工具,它需要一个有效的 setup.py 文件。根据定义,每个 Python 包都有一个 setup.py 文件……你想安装的其实不是一个包,而是一个单独的文件模块……这样做有什么问题呢:

git clone git+https://github.com/path/to/file.git /path/to/python/install/lib

我不太明白为什么要用一个包管理工具去安装一个不是包的东西……

撰写回答