从自定义索引setup.py安装

时间:2018-10-10 07:53:15

标签: python pip packaging setup.py pypi

我是软件包的软件包维护者,该软件包依赖于我们自己的pip存储库中托管的软件包。

我希望在进行 <target name="codejar" description="Create codejar" depends="compile"> <jar destfile="${path2}/code.jar" basedir="${dir.classes}" includes="a/b/c/**" excludes="a/b/c/d/file1*.* ,a/b/c/d/file2*.*"> <manifest> <attribute name="Sealed" value="true"/> <attribute name="Class-Path" value="othecode.jar"/> <attribute name="Main-Class" value="a.b.c.otherclass"/> <attribute name="Specification-Title" value="${label}"/> </manifest> </jar> </target> <target name="testjar" description="Create test code jar" depends="compile"> <jar destfile="${path1}/test.jar" basedir="${dir.classes}" includes="a/b/c/d/file1*.*, a/b/c/d/file2*.*, file3.class, file4.class" > <manifest> <attribute name="Sealed" value="false"/> <attribute name="Class-Path" value="code.jar"/> </manifest> </jar> </target> 时也要安装这些软件包。

pip install mypackage

回购中的文件夹结构如下:

setup(
  name='mypackage',
  version='1.1.2',
  description='My awesome package',
  dependency_links=[
    'http://www.myrepo.se/packages/mydep1/',
    'http://www.myrepo.se/packages/mydep2/'
  ]
  install_requires=[
    'mydep1==1.0.0',
    'mydep2==5.6.7'
  ]
)

全部根据对这个问题Using an extra python package index url with setup.py

的接受的答案

但是,这不起作用。我收到错误消息:

packages/
  mydep1/
    mydep1-1.0.0.tar.gz
  mydep2/
    mydep2-5.5.1.tar.gz
    mydep2-5.6.7.tar.gz

当我在我的requirements.txt文件中添加一个额外的索引URL之前,这是我必须将该URL添加为受信任的主机。有关系吗?我也在用python 3.5.3

编辑: 我激活了pip的详细输出,甚至没有尝试从我的仓库中找到软件包。

Collecting mydep1 (from mypackage==1.1.2)
  Could not find a version that satisfies the requirement mydep1 (from mypackage==1.1.2) (from versions: )
No matching distribution found for mydep1 (from mypackage==1.1.2)

1 个答案:

答案 0 :(得分:0)

除非您明确告诉pip,否则pip install --process-dependency-links mypackage 似乎没有处理依赖关系链接(不幸的是,这意味着mypackage的所有使用者都必须知道这样做)。

mypackage

由于requirements.txt也由同一存储库托管,这意味着使用者--trusted-host http://www.myrepo.se/ --extra-index-url http://www.myrepo.se/packages --process-dependency-links mypackage==1.1.2 必须看起来像

@Override
public void onMessageReceived(MessageReceivedEvent event) {

    if(event.getMessage().getContentRaw().contains("bad word")){

        event.getGuild().getController().kick(event.getMember()).complete();

    }

}
相关问题