从本地目录安装 python 包并删除所述目录

Install python package from local directory and remove said directory

我写了一个 python 包,想与我的同事分享,但我找不到如何将它与通过 pip 安装的其他包一起安装。

发出以下命令时,包已成功安装,我可以在系统的任何位置使用该包:

$ git clone git.adress.com/greatmodule.git
$ cd greatmodule
$ pip install .

但是,如果有人删除了 greatmodule/ 目录,则该软件包将无法使用。

我希望该模块与使用 pip 安装的其他软件包一起安装,例如在我的情况下 C:/Program Files/Python/Lib/site-packages

这可能吗/推荐吗?

想到两个更好的解决方案,而不是您正在尝试的解决方案:

1.从 repo 安装

Pip 支持从 git 存储库安装包。

例如,假设您通过 ssh 连接到远程存储库,您可以使用以下命令(假设:

pip3 install git+ssh://git@git.address.com/greatmodule.git

如果您使用 https 连接到 repo:

pip3 install git+https://git.address.com/greatmodule.git

如果使用特定分支:

pip3 install git+https://git.address.com/greatmodule.git@branch-name

2。将包添加为子模块(高级)

将 repo 添加为子模块:

git submodule add https://git.address.com/greatemodule.git

然后将子模块添加到PYTHONPATH

export PYTHONPATH=$PYTHONPATH:/directory_absolute_path

然后您可以创建源分发(您需要使用 setup.py 打包您的应用程序,它应该包含您的包名称和版本)

python3 setup.py -q sdist --dist-dir=../package_directory

然后你可以像普通包一样安装源码分发包