如何防止用户通过 pip 安装软件包

4
我希望能够防止用户通过pip将软件包安装到他们的主目录下。我有许多学生,他们拥有网络挂载主目录并且在其目录上设置了文件和空间配额。
我想要允许他们访问系统python / anaconda,但是阻止他们使用pip自行安装软件。因为学生自己安装软件导致浪费了大量教学时间,还会因为填满主目录而导致账户被锁定。
如果有任何建议,将不胜感激。

您可以使用Anaconda安装pip,因此如果他们可以使用Anaconda,我认为很难为他们阻止pip。您可以给他们一个environment.yaml文件,他们可以使用conda进行安装,然后告诉他们以后不要再安装任何东西了。 - Maarten-vd-Sande
但是,要求他们不这样做并没有什么帮助。实验室的示范人员已经浪费了数小时的时间来查找学生代码中的问题,结果发现有些使用numpy的变异和混乱版本,而不使用系统版本。主目录会被备份到离线位置,所以除非你花时间去进行重复数据删除,否则磁带上会有数百个副本,每个桌面都有相同的东西。 - exquisite spam
我没有像这样授课的经验,但我认为这实际上是一个非常糟糕的想法。给学生改变共享环境的权力可能会带来很大的问题(例如从Python2转换到Python3)。一个版本的更改将使每个人的代码无法执行... - Maarten-vd-Sande
1个回答

3

没有任何一种方法是100%有效的。以下是一些想法...

  • 使用一个全局的pip配置,并故意设置一个错误的index-url
  • 不要安装pip或移除可执行位。
  • 使用代理阻止访问pypi.org

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接