我的MANIFEST.in内容安装到与包的其余部分不同的位置

2024-09-27 00:23:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python和setuptools创建一个包。我正在使用MANIFEST.in文件来包含我的包使用的依赖项。我指定清单的内容如下:

recursive-include package/dependency_directory *

包的构建和安装没有错误。但是,当我从其中一个入口点调用包时,我看到脚本失败,因为它找不到MANIFEST.in内容的正确文件路径

包正在查看的路径如下:

/Users/Xerez/Library/Caches/Python-Eggs/qasar-0.1-py2.7.egg-tmp/qasar/fastqc/fastqc

软件包的其余部分安装在:

/Users/Xerez/anaconda2/lib/python2.7/site-packages/qasar-0.1-py2.7.egg

但是,在我的IDE中,当我询问包在哪里时,使用以下代码:

DATA_PATH = pkg_resources.resource_filename('qasar', 'fastqc/fastqc')

我得到以下文件路径:

/Users/Xerez/anaconda/lib/python2.7/site-packages/qasar-0.1-py2.7.egg/qasar/fastqc/fastqc

当我在IDE中使用这个路径运行脚本时,一切正常。我知道MANIFEST.in安装在与包的其余部分不同的位置,并且我的IDE正在调用另一种不同形式的python。如何强制安装将所有内容放在同一版本的anaconda/位置

我将a link附加到一个bitbucket存储库,该存储库有一个可帮助回答此问题的包的精简版本

https://bitbucket.org/arp2012/stackoverflow/src/master/

很抱歉,如果这个问题的答案是琐碎的,但我一直未能找到一个解决这个问题的办法,有一点,并决定寻求帮助。提前谢谢


Tags: 文件in路径脚本内容egglibpackages
1条回答
网友
1楼 · 发布于 2024-09-27 00:23:00

最终,我能够通过在docker容器中安装包来解决多个python路径问题,该容器只安装了一个版本的python和anaconda。然而,这种解决方案既不理想也不优雅

相关问题 更多 >

    热门问题