我们有一个 JupyterHub 服务器,它为用户生成 Jupyter 笔记本。我编写了一个 Python 脚本,希望所有用户都可以将其导入到他们的笔记本中。单个用户有一个 PYTHONPATH 环境变量,但我如何才能让所有在系统上有帐户的用户都实现这一点?
答案1
我通过将模块移动到 来实现这一点/lib/python3.7/site-packages/
。
答案2
/lib/python3.7/site-packages/
是你的系统 Python 的路径。
您永远不应该安装或手动移动其中的包,因为这可能会破坏您的系统,因为您的系统在很多方面依赖于您的系统 Python。
使用 Python 时,建议创建一个虚拟环境。你可以将其想象为个人副本 - 仅用于一个项目。
这是必要的,因为不同的应用程序/项目依赖于不同版本的依赖项。这意味着,如果您更新一个项目的依赖项并使用全局解释器,则可能会破坏其他应用程序。
当您想在一台机器上与用户本地共享代码时,我可能会将代码放在一个新/srv/your-name
文件夹下。显然,您必须为所有用户设置 Python 路径。但与损坏的系统相比,这是一个低代价。
如果您想在不同的机器之间共享代码,您可以考虑创建一个在线存储库,例如在 GitHub 上,甚至为 PyPi.org 创建一个 Python 包。