从本地目录安装 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
然后你可以像普通包一样安装源码分发包
我写了一个 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
然后你可以像普通包一样安装源码分发包