我的 MANIFEST.in 内容安装到与包的其余部分不同的位置
My MANIFEST.in content installed to distinct location from rest of package
我正在使用 setuptools 在 python 中创建一个包。我正在使用 MANIFEST.in 文件来包含我的包使用的依赖项。我指定 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。我如何强制安装将所有内容都放在同一个 version_of_anaconda/location?
我将 a link 附加到一个 bitbucket 存储库,它有一个精简版的软件包,可以帮助回答这个问题 question.The link 也写在下面:
如果这个问题的答案很简单,我深表歉意,但我暂时找不到解决这个问题的方法,所以决定寻求帮助。提前致谢!
最终,我通过将软件包安装在 docker 容器中解决了多个 python 路径问题,该容器只安装了一个版本的 python 和 anaconda。然而,这个解决方案既不理想也不优雅。
我正在使用 setuptools 在 python 中创建一个包。我正在使用 MANIFEST.in 文件来包含我的包使用的依赖项。我指定 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。我如何强制安装将所有内容都放在同一个 version_of_anaconda/location?
我将 a link 附加到一个 bitbucket 存储库,它有一个精简版的软件包,可以帮助回答这个问题 question.The link 也写在下面:
如果这个问题的答案很简单,我深表歉意,但我暂时找不到解决这个问题的方法,所以决定寻求帮助。提前致谢!
最终,我通过将软件包安装在 docker 容器中解决了多个 python 路径问题,该容器只安装了一个版本的 python 和 anaconda。然而,这个解决方案既不理想也不优雅。