• 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]
  • 相关阅读:
    正则表达式
    内涵函数二
    内置函数
    生成器的推导式 表达式
    函数的闭包 迭代器的使用
    函数的动态参数,命名空间
    函数
    文件的操作
    set 集合 拷贝的操作
    u-boot简介
  • 原文地址:https://www.cnblogs.com/lexus/p/2372464.html
Copyright © 2020-2023  润新知