python - 如何在使用旧版本的同时开发新的 pkg 版本

标签 python setuptools

我正在使用 python 中的 console_scripts 开发自己的 pkg。 我安装了稳定版本:

python setup.py install

我已经使用这个版本了。我想实现并测试一些改进。 我怎样才能做类似以下的事情而不“丢失”我安装的版本:

python setup.py develop

最佳答案

最佳实践是使用不同的 virtualenvs :一个用于您当前的版本,一个用于您的开发。

对于当前版本:

cd /path/to/virtualenv/dir/
virtualenv my_app
source my_app/bin/activate
pip install my_app  # or a path to my last wheel

您可以运行python setup.py install,而不是使用pip,这样:

cd /path/to/workspace/my_app/  # <- directory containing the setup.py
python setup.py install

然后,您可以使用应用程序的入口点(例如“my_entry”):

/path/to/virtualenv/dir/bin/my_entry <args>

要进行开发,您需要创建一个不同的虚拟环境:

cd /path/to/virtualenv/dir/
virtualenv my_app_dev
source my_app_dev/bin/activate

cd /path/to/workspace/my_app/  # <- directory containing the setup.py
pip install -e .

您已将 my_app_dev virtualenv 链接到源代码。检查一下:

pip list

编辑有关 virtualenvs 的更多信息

您可以阅读在线书籍Hitchhiker’s Guide to Python了解有关 virtualenvs 的更多信息。

关于python - 如何在使用旧版本的同时开发新的 pkg 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46321105/

相关文章:

python - 为什么我的表单在 Flask 中被反序列化为带有字符串而不是整数的 Mutlidict

找不到 Python flask jinja 图像文件

python - setuptools python - 项目内导入问题

python - 使用 setuptools 更改默认 dist 文件夹

python - * 之后的 Add() 参数必须是可迭代的,而不是 int Pygame

python - 是否需要将文件分成 block 进行加密

python 3无法识别竖线字符

python - Setup.py 重新安装已经安装的用户编写的包

python - setuptools 如何处理传递依赖?

python - 导入安装工具失败