编写同时适用于python.org Python和Anaconda的setup.py可行吗?

时间:2018-07-17 20:39:12

标签: python anaconda

我找到的最接近的是:Install python packages to correct anaconda environment

不幸的是,这个问题给出的答案没有帮助。我不能使用pip,因为出于我的目的,pip已损坏(错误太多)。我的setup.py使用sys.prefix做各种事情,例如复制一些静态数据文件,协调有关这些数据的某些程序包等。

我不能使用wheel格式来部署我的代码,因为它也从根本上被破坏了(无法指定绝对路径)。

我一直在寻找Anaconda作为部署项目的可能替代解决方案,但是我是整个系统的新手,并且可能缺少明显的东西。

我试图在conda创建的环境中安装东西,但是很快发现sys.prefix在此环境中被设置为Anaconda本身安装的目录(并且不可写) 。从那时起,我一直在寻找Anaconda的打包指南,但是到目前为止,我发现的所有内容都是很肤浅的:https://conda.io/docs/user-guide/tutorials/build-pkgs.html-我要做的不只是在部署脚本中声明依赖项。诸如查找合适的C编译器,Go编译器,bisonflex之类的实用程序之类的东西。


最后,我的问题是:将setup.py install与Anaconda一起使用完全可行吗?我应该尝试沿着那条路线走,还是应该另辟?径?也许有一种方法可以为Anaconda构建二进制软件包,而我还没有发现?

1 个答案:

答案 0 :(得分:0)

这可能会部分回答您的问题。我在Windows的anaconda以及ubuntu服务器中都装有setup.py附带的软件包。要使用sys.prefix处理该问题,请在创建环境时明确指定所需的python版本:

  conda create --name my_env python=3.5

然后检查您的sys.prefix,它应该是环境文件夹。