2017-04-17 154 views
0

我在heroku上运行web应用程序。 我想使用TA-Lib。这是python的库。 在heroku上安装时出现错误。如何在heroku中安装python库

heroku run pip install ta-lib 

主,错误:命令 'GCC' 失败,退出状态1

Collecting TA-Lib 
    Using cached TA-Lib-0.4.10.tar.gz 
Building wheels for collected packages: TA-Lib 
    Running setup.py bdist_wheel for TA-Lib ... error 
    Complete output from command /app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ggrhshl_/TA-Lib/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpy3tq74cipip-wheel- --python-tag cp36: 
    /tmp/pip-build-ggrhshl_/TA-Lib/setup.py:77: UserWarning: Cannot find ta-lib library, installation may fail. 
    warnings.warn('Cannot find ta-lib library, installation may fail.') 
    running bdist_wheel 
    running build 
    running build_py 
    creating build 
    creating build/lib.linux-x86_64-3.6 
    creating build/lib.linux-x86_64-3.6/talib 
    copying talib/test_func.py -> build/lib.linux-x86_64-3.6/talib 
    copying talib/deprecated.py -> build/lib.linux-x86_64-3.6/talib 
    copying talib/test_stream.py -> build/lib.linux-x86_64-3.6/talib 
    copying talib/test_abstract.py -> build/lib.linux-x86_64-3.6/talib 
    copying talib/test_data.py -> build/lib.linux-x86_64-3.6/talib 
    copying talib/__init__.py -> build/lib.linux-x86_64-3.6/talib 
    running build_ext 
    building 'talib.common' extension 
    creating build/temp.linux-x86_64-3.6 
    creating build/temp.linux-x86_64-3.6/talib 
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/app/.heroku/python/lib/python3.6/site-packages/numpy/core/include -I/usr/include -I/usr/local/include -I/opt/include -I/opt/local/include -I/app/.heroku/python/include/python3.6m -c talib/common.c -o build/temp.linux-x86_64-3.6/talib/common.o 
    talib/common.c:242:28: fatal error: ta-lib/ta_defs.h: No such file or directory 
    #include "ta-lib/ta_defs.h" 
          ^
    compilation terminated. 
    error: command 'gcc' failed with exit status 1 

    ---------------------------------------- 
    Failed building wheel for TA-Lib 
    Running setup.py clean for TA-Lib 
Failed to build TA-Lib 
Installing collected packages: TA-Lib 
    Running setup.py install for TA-Lib ... error 
    Complete output from command /app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ggrhshl_/TA-Lib/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-7lciel7r-record/install-record.txt --single-version-externally-managed --compile: 
    /tmp/pip-build-ggrhshl_/TA-Lib/setup.py:77: UserWarning: Cannot find ta-lib library, installation may fail. 
     warnings.warn('Cannot find ta-lib library, installation may fail.') 
    running install 
    running build 
    running build_py 
    creating build 
    creating build/lib.linux-x86_64-3.6 
    creating build/lib.linux-x86_64-3.6/talib 
    copying talib/test_func.py -> build/lib.linux-x86_64-3.6/talib 
    copying talib/deprecated.py -> build/lib.linux-x86_64-3.6/talib 
    copying talib/test_stream.py -> build/lib.linux-x86_64-3.6/talib 
    copying talib/test_abstract.py -> build/lib.linux-x86_64-3.6/talib 
    copying talib/test_data.py -> build/lib.linux-x86_64-3.6/talib 
    copying talib/__init__.py -> build/lib.linux-x86_64-3.6/talib 
    running build_ext 
    building 'talib.common' extension 
    creating build/temp.linux-x86_64-3.6 
    creating build/temp.linux-x86_64-3.6/talib 
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/app/.heroku/python/lib/python3.6/site-packages/numpy/core/include -I/usr/include -I/usr/local/include -I/opt/include -I/opt/local/include -I/app/.heroku/python/include/python3.6m -c talib/common.c -o build/temp.linux-x86_64-3.6/talib/common.o 
    talib/common.c:242:28: fatal error: ta-lib/ta_defs.h: No such file or directory 
    #include "ta-lib/ta_defs.h" 
           ^
    compilation terminated. 
    error: command 'gcc' failed with exit status 1 

    ---------------------------------------- 
Command "/app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ggrhshl_/TA-Lib/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-7lciel7r-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ggrhshl_/TA-Lib/ 

我必须避免,当我在我的Ubuntu的安装TA-lib目录下。

sudo apt-get install python3-dev 

问题是sudo命令在heroku上无法使用的问题。 所以我不知道我要做什么。 如何在heroku中安装ta-lib?

+0

您将需要使用cython https://elements.heroku.com/buildpacks/icoxfog417/heroku-buildpack-python或预先编译的二进制文件https://github.com/aneesh-neelam/heroku- buildpack的Python-利布 – brennan

回答