scipy / scipy

SciPy library main repository
https://scipy.org
BSD 3-Clause "New" or "Revised" License
12.92k stars 5.14k forks source link

savgol_filter is missing after package installation (Ubuntu 14.04LTS) #3875

Closed ghost closed 10 years ago

ghost commented 10 years ago

Here is a stack trace:

/home/mmeitine/tellspec/headend/analysis/martin/__init__.py in <module>()
      6 import oct2py, os, re
      7 import numpy as np
----> 8 from scipy.signal import savgol_filter
      9 from numpy import log10
     10 

ImportError: cannot import name savgol_filter
argriffing commented 10 years ago

This feature was added pretty recently in https://github.com/scipy/scipy/pull/470 are you sure you have a new enough scipy version?

ghost commented 10 years ago

Hello, I installed scipy 1 hour ago on clean linux installation. Reinstalling scipy package did not help.

Thanks,

On Fri, Aug 15, 2014 at 12:31 PM, argriffing notifications@github.com wrote:

This feature was added pretty recently in #470 https://github.com/scipy/scipy/pull/470 are you sure you have a new enough scipy version?

— Reply to this email directly or view it on GitHub https://github.com/scipy/scipy/issues/3875#issuecomment-52327858.

Mark Meitine Software Developer, TellSpec Inc.

www.tellspec.com

https://twitter.com/TellSpec

Office: 416-964-0830

Cell: 647-292-9716

Skype ID: markmeitine

This e-mail is intended only for the named recipient(s) and may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you have received this e-mail in error, or are not named as a recipient, please immediately notify the sender and destroy all copies of this e-mail.

argriffing commented 10 years ago

If you are using a debian-based linux (e.g. ubuntu, mint) did you install like sudo apt-get install python-scipy? This version may be too old, although it may also depend on which linux distribution version you are using. I couldn't find version information in the docs here http://docs.scipy.org/doc/scipy-dev/reference/generated/scipy.signal.savgol_filter.html so I'm not sure exactly what scipy version savgol_filter was added.

argriffing commented 10 years ago

The scipy version can be checked like this:

$ python -c "import scipy; print scipy.__version__"
ghost commented 10 years ago

Ok, thanks for your reply.

Could you suggest another way to install scipy, avoiding Ubuntu's default repository?

Regards, Mark

On Fri, Aug 15, 2014 at 12:37 PM, argriffing notifications@github.com wrote:

If you are using a debian-based linux (e.g. ubuntu, mint) did you install like sudo apt-get install python-scipy? This version may be too old, although it may also depend on which linux distribution version you are using. I couldn't find version information in the docs here http://docs.scipy.org/doc/scipy-dev/reference/generated/scipy.signal.savgol_filter.html so I'm not sure exactly what scipy version savgol_filter was added.

— Reply to this email directly or view it on GitHub https://github.com/scipy/scipy/issues/3875#issuecomment-52328507.

Mark Meitine Software Developer, TellSpec Inc.

www.tellspec.com

https://twitter.com/TellSpec

Office: 416-964-0830

Cell: 647-292-9716

Skype ID: markmeitine

This e-mail is intended only for the named recipient(s) and may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you have received this e-mail in error, or are not named as a recipient, please immediately notify the sender and destroy all copies of this e-mail.

argriffing commented 10 years ago

According to https://launchpad.net/ubuntu/trusty/+source/python-scipy Ubuntu 14.04 packages scipy 0.13.3-1build1 which seems too old. For example https://github.com/scipy/scipy/tree/maintenance/0.13.x/scipy/signal doesn't have the new _savitzky_golay.py file.

Ideally new features would have some versionadded annotation in the docs and would be listed in the release notes http://docs.scipy.org/doc/scipy-dev/reference/release.0.14.0.html#scipy-signal-improvements but that seems to not have happened for this function.

Could you suggest another way to install scipy, avoiding Ubuntu's default repository?

It can be complicated because of the dependencies among applications and libraries on your computer, and using Ubuntu's package manager is by far the best way if you can get away with it, but I guess you can't get away with it if it doesn't have the function you need.

If you are more Ubuntu-savvy than I am, you may be able to figure out how to install the newer Ubuntu-packaged scipy at http://packages.ubuntu.com/utopic/python-scipy which should be new enough (it packages scipy 0.14).

There are multiple competing ways to install scipy outside of Ubuntu's packaging system. These are under active development. Personally I tend to avoid them and just install from source if I can't use the Ubuntu package manager, so I don't know much about them.

ghost commented 10 years ago

Thanks for your help. I think we can close this issue.

Regards

On Fri, Aug 15, 2014 at 1:20 PM, argriffing notifications@github.com wrote:

According to https://launchpad.net/ubuntu/trusty/+source/python-scipy Ubuntu 14.04 packages scipy 0.13.3-1build1 which seems too old. For example https://github.com/scipy/scipy/tree/maintenance/0.13.x/scipy/signal doesn't have the new _savitzky_golay.py file.

Ideally new features would have some versionadded annotation in the docs and would be listed in the release notes http://docs.scipy.org/doc/scipy-dev/reference/release.0.14.0.html#scipy-signal-improvements but that seems to not have happened for this function.

Could you suggest another way to install scipy, avoiding Ubuntu's default repository?

It can be complicated because of the dependencies among applications and libraries on your computer, and using Ubuntu's package manager is by far the best way if you can get away with it, but I guess you can't get away with it if it doesn't have the function you need.

If you are more Ubuntu-savvy than I am, you may be able to figure out how to install the newer Ubuntu-packaged scipy at http://packages.ubuntu.com/utopic/python-scipy which should be new enough (it packages scipy 0.14).

There are multiple competing ways to install scipy outside of Ubuntu's packaging system. These are under active development. Personally I tend to avoid them and just install from source if I can't use the Ubuntu package manager, so I don't know much about them.

— Reply to this email directly or view it on GitHub https://github.com/scipy/scipy/issues/3875#issuecomment-52333283.

Mark Meitine Software Developer, TellSpec Inc.

www.tellspec.com

https://twitter.com/TellSpec

Office: 416-964-0830

Cell: 647-292-9716

Skype ID: markmeitine

This e-mail is intended only for the named recipient(s) and may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you have received this e-mail in error, or are not named as a recipient, please immediately notify the sender and destroy all copies of this e-mail.

argriffing commented 10 years ago

@tellspec-markm Thanks for the report. I've opened https://github.com/scipy/scipy/issues/3876 hoping to simplify tracking down timelines of feature additions.

mckatzenelson commented 8 years ago

This still a bug. I have a fresh install, and get the same error message

rohitrameshrao commented 7 years ago

Same here. Says name 'savgol_filter' is not defined.

WarrenWeckesser commented 7 years ago

It was not a bug. In a terminal, please run the command python -c "import scipy; print(scipy.__version__)" to check which version of scipy you are using. Or enter the commands in a python shell:

>>> import scipy
>>> print(scipy.__version__)

savgol_filter was added to scipy in version 0.14.0.

mckatzenelson commented 7 years ago

|# python -c "import scipy; print(scipy.version)"|

|0.16.1|

|And for good measure,|

|# uname -a|

4.10.8-100.fc24.x86_64 x86_64 GNU/Linux

On 04/23/2017 06:46 AM, Warren Weckesser wrote:

It was not a bug. In a terminal, please run the command |python -c "import scipy; print(scipy.version)"| to check which version of scipy you are using. Or enter the commands in a python shell:

|>>> import scipy >>> print(scipy.version) |

|savgol_filter| was added to scipy in version 0.14.0.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/scipy/scipy/issues/3875#issuecomment-296434485, or mute the thread https://github.com/notifications/unsubscribe-auth/AF2tvgzb60CYe9j7Vbc61WMH5EhASaCSks5ryyv3gaJpZM4CXzer.

matthew-brett commented 7 years ago

Here's me installing scipy 0.14 and 0.16.1 on Debian; I get no error:

(test) [mb312@tom /home/mb312]$ pip install numpy
Collecting numpy
  Downloading numpy-1.12.1-cp27-cp27mu-manylinux1_x86_64.whl (16.5MB)
    100% |████████████████████████████████| 16.5MB 58kB/s 
Installing collected packages: numpy
Successfully installed numpy-1.12.1
(test) [mb312@tom /home/mb312]$ pip install scipy==0.14.0
Collecting scipy==0.14.0
  Using cached scipy-0.14.0-cp27-cp27mu-manylinux1_x86_64.whl
Installing collected packages: scipy
Successfully installed scipy-0.14.0
(test) [mb312@tom /home/mb312]$ python -c 'from scipy.signal import savgol_filter'
(test) [mb312@tom /home/mb312]$ pip install scipy==0.16.1
Collecting scipy==0.16.1
  Downloading scipy-0.16.1-cp27-cp27mu-manylinux1_x86_64.whl (38.2MB)
    100% |████████████████████████████████| 38.2MB 25kB/s 
Installing collected packages: scipy
  Found existing installation: scipy 0.14.0
    Uninstalling scipy-0.14.0:
      Successfully uninstalled scipy-0.14.0
Successfully installed scipy-0.16.1
(test) [mb312@tom /home/mb312]$ python -c 'from scipy.signal import savgol_filter'
(test) [mb312@tom /home/mb312]$ python -c 'import scipy; print(scipy.__version__)'
0.16.1

To check that the scipy you are importing from is the one you think it is:

python -c 'import scipy.signal; print(scipy.__version__, scipy.signal.savgol_filter)'

I get:

('0.16.1', <function savgol_filter at 0x7f579202a8c0>)