У меня установлен Python на Mac. Если я запускаю python -V
, он выводит 3.7.2
Если я запускаю следующее:
virtualenv venv
source venv/bin/activate
python -V
Я вижу 3.7.2
.
Если я пытаюсь запустить nose
, я получаю эту ошибку:
$ nosetests -s -v config_test.test_config:TestConfiguration
Failure: ModuleNotFoundError (No module named 'boto3') ... ERROR
======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'boto3')
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/nose/failure.py", line 39, in runTest
raise self.exc_val.with_traceback(self.tb)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/nose/loader.py", line 418, in loadTestsFromName
addr.filename, addr.module)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/nose/importer.py", line 47, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/nose/importer.py", line 94, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/imp.py", line 234, in load_module
return load_source(name, filename, file)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/imp.py", line 172, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 675, in _load
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
File "/Users/me/git/sdk-python-config/config_test/config_sdk.py", line 4, in <module>
import boto3
ModuleNotFoundError: No module named 'boto3'
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (errors=1)
Меня сразу интересуют ссылки 3.6
.
Если я затем запущу pip install boto3
, я увижу пакет при запуске pip list
, однако я получаю ту же ошибку, что и выше, когда я снова пытаюсь запустить свое приложение.
Я пробовал pyenv global 3.7.2
и pyenv local 3.7.2
, но ничего не изменилось.
Кто-нибудь может подсказать, в чем может быть проблема?
И если nose
установлен в среде, что сообщает команда which python
?
nose
не был установлен в venv. После того, как я установил его с помощью pip install nose
, мне пришлось деактивировать venv и повторно активировать его.
У вас есть псевдоним, определенный для python? Я помню, что у меня были проблемы с псевдонимом внутри virtualenv. Может быть, попробуйте переименовать этот псевдоним и попробуйте найти свой .bashrc/.zshrc/.bash_profile/независимо... снова, прежде чем искать свой virtualenv. Также попробуйте
type python
(это также говорит вам, что означает ваш псевдоним, если вы используете псевдоним).type py
выходыpy is an alias for python3