0

I am using Spyder 5.4.0 with Miniconda3. I have created a new Python environment using conda create -n env_full anaconda, then successfully activated in Spyder (using packages like numpy or matplotlib), but when I try to import pandas, I get:

File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\numexpr\utils.py", line 156, in _init_num_threads
    requested_threads = int(os.environ['OMP_NUM_THREADS'])

ValueError: invalid literal for int() with base 10: '5,3,2'

It does not happen in base environment.

Any idea how to fix it?

The full console output:

import pandas
Traceback (most recent call last):

  File "C:\Users\User\AppData\Local\Temp\ipykernel_25804\3648170110.py", line 1, in <module>
    import pandas

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\pandas\__init__.py", line 48, in <module>
    from pandas.core.api import (

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\pandas\core\api.py", line 27, in <module>
    from pandas.core.arrays import Categorical

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\pandas\core\arrays\__init__.py", line 1, in <module>
    from pandas.core.arrays.arrow import ArrowExtensionArray

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\pandas\core\arrays\arrow\__init__.py", line 1, in <module>
    from pandas.core.arrays.arrow.array import ArrowExtensionArray

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\pandas\core\arrays\arrow\array.py", line 42, in <module>
    from pandas.core.arraylike import OpsMixin

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\pandas\core\arraylike.py", line 23, in <module>
    from pandas.core.ops.common import unpack_zerodim_and_defer

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\pandas\core\ops\__init__.py", line 33, in <module>
    from pandas.core.ops.array_ops import (

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\pandas\core\ops\array_ops.py", line 50, in <module>
    import pandas.core.computation.expressions as expressions

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\pandas\core\computation\expressions.py", line 20, in <module>
    from pandas.core.computation.check import NUMEXPR_INSTALLED

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\pandas\core\computation\check.py", line 5, in <module>
    ne = import_optional_dependency("numexpr", errors="warn")

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\pandas\compat\_optional.py", line 141, in import_optional_dependency
    module = importlib.import_module(name)

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\numexpr\__init__.py", line 44, in <module>
    nthreads = _init_num_threads()

  File "C:\ProgramData\Miniconda3\envs\env_full\lib\site-packages\numexpr\utils.py", line 156, in _init_num_threads
    requested_threads = int(os.environ['OMP_NUM_THREADS'])

ValueError: invalid literal for int() with base 10: '5,3,2'

Galedon
  • 21
  • 3

1 Answers1

1

Well the error states that os.environ['OMP_NUM_THREADS'] evaluates to '5,3,2' which is a string of multiple numbers. This cannot be converted into an integer.

Check out this documentation. So your virtual environment sets different thread numbers for different 'nesting depths'. I think you can set it to a single number yourself with export OMP_NUM_THREADS='5' before you import pandas.

steTATO
  • 550
  • 4
  • 12
  • Thank you for a quick answer. I tied to set the variable, it partially worked, but I got another error: AttributeError: partially initialized module 'pandas' has no attribute 'core' (most likely due to a circular import) – Galedon Nov 29 '22 at 13:30
  • Try to restart your Spyder or the environment. – steTATO Nov 29 '22 at 13:41
  • It only reverse the change of ' os.environ['OMP_NUM_THREADS'] = "5" ' (I used it instead of export which did not work) to initial state. – Galedon Nov 30 '22 at 06:57
  • For your new error there are multiple answers available [here](https://stackoverflow.com/questions/45357826/attributeerror-module-pandas-has-no-attribute-core) and [here](https://stackoverflow.com/questions/36521691/importing-pandas-gives-error-attributeerror-module-pandas-has-no-attribute-c) for example. I hope some will work for you. Try first to install numpy in the environment, – steTATO Nov 30 '22 at 08:12