python - 在同一台计算机上开发和使用相同的Python

标签 python module packaging pythonpath

我正在开发一个 Python 实用程序模块来帮助进行文件下载、存档等。我在虚拟环境中设置了一个项目以及单元测试。当我想在同一台计算机上使用此模块(本质上作为“生产”)时,我将文件移动到 ~/dev/modules/mymodule< 中的 mymodule 目录/strong>

我将所有第 3 方模块保存在 ~/dev/modules/contrib 下。这个 contrib 路径在我的 PYTHONPATH 上,但 mymodule 不在我的 PYTHONPATH 上,因为我注意到如果 mymodule 在我的 PYTHONPATH 上,我的单​​元测试无法区分“开发”版本和“生产”版本。但现在如果我想使用这个通用实用程序模块,我必须手动将其添加到 PYTHONPATH 中。

这可行,但我确信有更好、更自动化的方法。

在同一台计算机上拥有开发和生产模块的最佳方法是什么?例如,有没有办法动态设置 PYTHONPATH?

最佳答案

你可以在sys.path处添加/修改python路径,只需确保第一个路径是当前目录".",因为有些第三方模块依赖从当前模块的目录导入。

有关 python 路径的更多信息: http://djangotricks.blogspot.com/2008/09/note-on-python-paths.html

关于python - 在同一台计算机上开发和使用相同的Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3914289/

相关文章:

python - 在具有大量输入的 for 循环上实现 Pool

python - 将 Pandas 中的单元格值附加到行中的空单元格中

python - 当我使用 numba 的 "jit"装饰器运行代码时,Anaconda 提示符卡住

c# - 如何在Orchard Modules中实现多线程?

android - 未解决对 kotlin 库模块中调试目录的引用

linux - Debian 软件包 (.deb) : how determine depends?

python - 如何通过 SSH 在 python/bash/ruby 脚本中执行带有 "sudo"的命令?

python - 如何制作 "always relative to current module"的文件路径?

reactjs - 命名导出/导入与使用绝对路径的导入

packaging - 用pynsist打包PyGObject Python 3程序?