【问题标题】:Is there a pip / easy_install for Scala? [closed]Scala 有 pip / easy_install 吗? [关闭]
【发布时间】:2013-11-26 13:34:27
【问题描述】:

我想整理我的 Scala 包并喜欢 Python 如何使用 pip 解决这个问题。

你能推荐一个类似的工具来管理 Scala 包吗?

编辑: 我正在寻找一个简单的安装新包的所有依赖项,比如

 >>> pip install <a_package> # installs a_package with all dependencies.

【问题讨论】:

  • 我的第一个想法是 Maven/SBT 的某种组合可以实现您想要的效果,但如果您能指定 pip 究竟要模仿什么会很有帮助。
  • 这是一个很好的问题,不敢相信这些模组......

标签: python scala pip easy-install


【解决方案1】:

最直接相似的大概是Scala Build Tool。具体来说,Library Dependencies。 Java 生态系统包括许多库和构建工具,Scala 是基于 Java 构建的。所以你获得了利用诸如 -

之类的东西的能力

此外,因为一切都在虚拟机中运行;没有“系统”级别的安装。您可以从您的CLASSPATH 开始,更多地调查class loading

#!/bin/sh
# From http://www.scalaclass.com/node/10 - CLASSPATH
L=`dirname $0`/../lib
cp=`echo $L/*.jar|sed 's/ /:/g'`
exec scala -classpath "$cp" "$0" "$@"
!#
import com.my.Goodness
val goodness = new Goodness
world.hello

【讨论】:

    【解决方案2】:

    Pythonistas 安装系统范围的包,然后由所有 python 项目使用。这导致了virtualenv 试图解决的一系列问题。 Scala 人员和一般 Java 人员都有为依赖管理工具编写的每个项目定义——mvn (xml)、sbt (scala)、gradle (groovy) 等。

    这些工具中的大多数都具有系统范围的缓存,因此通常它只下载某个版本的依赖项一次,然后将其放在磁盘上的特定位置。当您需要运行/组装您的 java 或 scala 程序时,它会构造所谓的 CLASSPATH 变量,该变量由所需库的补丁组成。然后运行环境使用 CLASSPATH 变量(在 python 世界中也称为 PYTHONPATH)来查找所需的部分。同样,CLASSPATH 因项目而异,而 PYTHONPATH 则相当稳定。我确实相信可能有一些工具可以完成与 pip 相同的工作,但它在 JVM 世界中并不被接受。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      • 2019-04-07
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 2014-04-09
      相关资源
      最近更新 更多