У меня есть ящик, который я использую, по соображениям безопасности, не имеет доступа в Интернет.
Я установил Anaconda на коробке:
python --version # => Python 3.6.5 :: Anaconda, Inc.
which python #=>/home/current_user/anaconda3/bin/python
Я также установил пакет cx_oracle
вместе с oracle-instantclient
, загрузив соответствующие архивы и установив пакеты. Доказательство:
$ conda install cx_oracle-6.3.1-py36h14c3975_0.tar.bz2
$ conda install oracle-instantclient-11.2.0.4.0-0.tar.bz2
$ conda list | grep oracle
cx_oracle 6.3.1 py36h14c3975_0 <unknown>
oracle-instantclient 11.2.0.4.0 0 <unknown>
По какой-то причине Python не может найти модуль cx_Oracle, несмотря на возможность найти несколько других модулей, которые я установил.
$ python -c "import cx_Oracle"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'cx_Oracle'
$ conda install python-dotenv-0.8.2-py_1.tar.bz2
$ python -c "import dotenv"
# => No problem
$ python -c "import cx_Oracle"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'cx_Oracle'
Cx_oracle устанавливается в среде conda. Это может быть либо base
конда или root
конды (в зависимости от версии):
$ conda activate
вы увидите активацию среды
(base) $
затем повторите попытку
(base) $ python -c "import cx_Oracle"
Вы также можете использовать conda info --envs
чтобы узнать, какие среды у вас на компьютере
python
указывает на переводчика из Конды? Что показываетwhich python
?