动态安装本地 Python 包

Installing a local Python package dynamically

我正在和朋友 a small Python package 一起建造。

.
├── __init__.py
└── memoized.py

在开发过程中,我想测试安装的包 - 例如,确保一些 __init__.py 代码按预期运行。

目前的实现方式是:

  1. /tmp
  2. 上创建一个虚拟环境
  3. 激活它
  4. cd 到 repo 目录
  5. python setup.py install
  6. cd别处(避免从目录导入而不是从安装包导入)
  7. 测试导入
  8. pip uninstall memoized
  9. 重复步骤 3-7

这又长又麻烦,我依稀记得有一种安装包的方法,它不会将其代码复制到 virtualenv,而是链接到它。这样更改代码将反映在下一次导入时,无需重新安装。

我搜索过“动态导入”等类似内容,但它指的是不同的功能。

如何安装本地 Python 包以便立即反映对包代码的更改?

您可以先激活virtualenv,然后导航到项目目录。那么运行

pip install --editable . 

--editable install a project in editable mode and uses current working directory instead of copying the source code.