动态安装本地 Python 包
Installing a local Python package dynamically
我正在和朋友 a small Python package 一起建造。
.
├── __init__.py
└── memoized.py
在开发过程中,我想测试安装的包 - 例如,确保一些 __init__.py
代码按预期运行。
目前的实现方式是:
- 在
/tmp
上创建一个虚拟环境
- 激活它
cd
到 repo 目录
python setup.py install
cd
别处(避免从目录导入而不是从安装包导入)
- 测试导入
pip uninstall memoized
- 重复步骤 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.
我正在和朋友 a small Python package 一起建造。
.
├── __init__.py
└── memoized.py
在开发过程中,我想测试安装的包 - 例如,确保一些 __init__.py
代码按预期运行。
目前的实现方式是:
- 在
/tmp
上创建一个虚拟环境
- 激活它
cd
到 repo 目录python setup.py install
cd
别处(避免从目录导入而不是从安装包导入)- 测试导入
pip uninstall memoized
- 重复步骤 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.