我需要在我的产品中包含一些python包,但是执行构建的jenkins服务器无法访问Internet。我已经使用pip download下载了其中一个软件包,它下载了软件包及其所有依赖项。但是,我需要确保pip知道在哪里找到这些依赖项。我正在尝试使用选项--no-index和--find-links以及指向包含这些包的链接的html文件的路径。完整命令如下所示:
pip install http://SERVER/python-packages/impyla/0.14.0/impyla-0.14.0.tar.gz --no-index --trusted-host SERVER --find-links http://SERVER/python-packages/impyla/0.14.0/packages.html
...而packages.html文件如下所示:
<a href="http://SERVER/python-packages/impyla/0.14.0/bitarray-0.8.1.tar.gz">bitarray-0.8.1.tar.gz</a>
<a href="http://SERVER/python-packages/impyla/0.14.0/ply-3.10.tar.gz">ply-3.10.tar.gz</a>
<a href="http://SERVER/python-packages/impyla/0.14.0/six-1.10.0-py2.py3-none-any.whl">six-1.10.0-py2.py3-none-any.whl</a>
<a href="http://SERVER/python-packages/impyla/0.14.0/thriftpy-0.3.9.tar.gz">thriftpy-0.3.9.tar.gz</a>
但是,当jenkins尝试运行这些命令时,我得到:
无法找到满足要求的版本 thriftpy&gt; = 0.3.5(来自impyla == 0.14.0)(来自版本:)
找不到与thriftpy&gt; = 0.3.5匹配的分布(来自 impyla == 0.14.0)
我想知道我的packages.html是否格式不正确,但我找不到使用html文件进行依赖项解析的任何示例。有没有人成功使用过--find-links?
答案 0 :(得分:1)
感谢emulbreh我将-v添加到pip install命令并报告:
跳过页面http://SERVER/python-packages/impyla/0.14.0/packages.html 因为Content-Type:text / plain;字符集= UTF-8
一旦我确定html文件是以适当的内容类型提供的,我就可以使用它。
答案 1 :(得分:0)
我从来没有看过html格式的需求文件,但也许是可能的,官方文档中的示例是.txt文件,但我认为你的麻烦是另一回事,例如你必须检查以下你操作系统的架构下载的包因为这个包绑定到那个架构我的意思是64位或32位,另一个是检查你有相同的python解释器或另一个兼容你下载包的那个,所有这些都很重要,即使保持thriftpy
版本不重要,也不要为此软件包指定版本并将其从需求文件中删除,并让pip找到适合您的市长版本,如果您没有指定包的版本。