zoukankan      html  css  js  c++  java
  • jip 中国geek的项目,要顶的

    jip 0.5.1 : Python Package Index

    jip 0.5.1

    jip installs packages, for Jython

    Downloads ↓

    Latest Version:
    0.7

    Jip is the jython equivalent of pip to python. It will resolve
    dependencies and download jars for your jython environment.

    License

    jip itself is distributed according to MIT License .

    Install

    jip is required to run within virtualenv, which is a best practice
    for python/jython developers to created a standalone, portable
    environment.

    Create virtualenv with jython:

    virtualenv -p /usr/local/bin/jython jython-env
    

    Activate the shell environment:

    cd jython-dev
    source bin/activate
    

    Download and install jip with pip:

    pip install jip
    

    Usage

    Install a Java package

    jip will resolve dependencies and download jars from maven
    repositories. You can install a Java package just like what you do
    python with pip:

    jip install <groupId>:<artifactId>:<version>
    

    Take spring as example:

    jip install org.springframework:spring-core:3.0.5.RELEASE
    

    Resolve dependencies defined in a pom

    jip allows you to define dependencies in a maven pom file, which is
    more maintainable than typing install command one by one:

    jip resolve pom.xml
    

    Resolve dependencies for an artifact

    With jip, you can resolve and download all dependencies of an
    artifact, without grab the artifact itself (whenever the artifact
    is downloadable, for example, just a plain pom). This is especially
    useful when you are about to setup an environment for an artifact.
    Also, java dependencies for a jython package is defined in this
    way.

    jip deps info.sunng.gefr:gefr:0.2-SNAPSHOT
    

    Update snapshot artifact

    You can use update command to find and download a new deployed
    snapshot:

    jip update info.sunng.bason:bason-annotation:0.1-SNAPSHOT
    

    Run jython with installed java packages in path

    Another script jython-all is shipped with jip. To run jython
    with Java packages included in path, just use jython-all
    instead of jython

    List

    Use jip list to see artifacts you just installed

    Remove a package

    You are suggested to use jip remove to remove an artifact. This
    will keep library index consistent with file system.

    jip remove org.springframework:spring-core:3.0.5.RELEASE
    

    Currently, there is no dependency check in artifact removal. So you should
    be careful when use this command.

    Clean

    jip clean will remove everything you downloaded, be careful to
    use it.

    Persist current environment state

    Before you distribute you environment, you can use freeze to persist
    current state into a pom file.

    jip freeze > pom.xml
    

    Configuration

    You can configure custom maven repository with a dot file, jip will
    search configurations in the following order:

    1. $VIRTUAL_ENV/.jip, your virtual environment home
    2. $HOME/.jip, your home

    Here is an example:

    [repos:jboss]
    uri=http://repository.jboss.org/maven2/
    type=remote
    
    [repos:local]
    uri=/home/sun/.m2/repository/
    type=local
    
    [repos:central]
    uri=http://repo1.maven.org/maven2/
    type=remote
    

    Be careful that the .jip file will overwrite default settings, so
    you must include default local and central repository explicitly.
    jip will skip repositories once it finds package matches the maven
    coordinator.

    From 0.4, you can also define repositories in pom.xml if you use
    the resolve command. jip will add these custom repositories
    with highest priority.

    Distribution helpers

    From 0.4, you can use jip in your setup.py to simplify jython
    source package distribution. Create pom.xml in the same directory
    with setup.py. Fill it with your Java dependencies in standard way.
    In this file, you can also define custom repositories. Here is
    an example:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    
        ...
    
        <dependencies>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.6.1</version>
            </dependency>
    
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.6.1</version>
            </dependency>
    
            ...
    
        </dependencies>
    
        <repositories>
            <repository>
                <id>sonatype-oss-sonatype</id>
                <url>http://oss.sonatype.org/content/repositories/snapshots/</url>
            </repository>
        </repositories>
    </project>
    

    And in your setup.py, use the jip setup wrapper instead of the one
    provided by setuptools or distutils. You can add keyword argument
    pom to specify a custom name of the pom file.

    from jip.dist import setup
    

    Other than the traditional pom configuration, jip also allows you to
    describe dependencies in python. You can define a data structure in
    your setup.py like:

    requires_java = {
        'dependencies':[
            ## (groupdId, artifactId, version)
            ('org.slf4j', 'slf4j-api', '1.6.1'),
            ('org.slf4j', 'slf4j-log4j12', '1.6.1'),
            ('info.sunng.soldat', 'soldat', '1.0-SNAPSHOT'),
            ('org.apache.mina', 'mina-core', '2.0.2')
        ],
        'repositories':[
            ('sonatype-oss-snapshot', 'http://oss.sonatype.org/content/repositories/snapshots/')
        ]
    }
    

    And pass it to jip setup as keyword argument requires_java. Once
    jip found this argument, it won't try to load a pom file.

    from jip.dist import setup
    setup(
        ...
        requires_java=requires_java,
        ...)
    

    Another resolve command was added to setuptools, you can use this
    command to download all dependencies to library path

    jython setup.py resolve
    

    All dependencies will be installed when running

    jython setup.py install
    

    So with jip's setup() wrapper, pip will automatically install
    what your package needs. You can publish your package to python
    cheese shop, and there is just one command for everything

    pip install [your-package-name]
  • 相关阅读:
    06-图3 六度空间
    06-图2 Saving James Bond
    06-图1 列出连通集
    05-树9 Huffman Codes
    数据结构学习笔记04树(堆 哈夫曼树 并查集)
    05-树8 File Transfer
    05-树7 堆中的路径
    十天学会单片机Day1点亮数码管(数码管、外部中断、定时器中断)
    设计模式—— 四:接口隔离原则
    设计模式—— 一:单一职责原则
  • 原文地址:https://www.cnblogs.com/lexus/p/2372464.html
Copyright © 2011-2022 走看看