Python 似乎是 运行ning 3.6,即使我的虚拟环境配置为 运行 3.7
Python seems to be running 3.6 even though my virtual environment is configured to run 3.7
我使用 pyenv
切换到 Python 3.7.2
。下面证实了这一点:
$ python -V
Python 3.7.2
然后我创建了一个名为 venv
的虚拟环境并安装了我所有的依赖项。当我 运行 pip list
.
时,我可以看到这些已经安装
当我现在 运行 我使用 nosetest 进行测试时,我使用这个命令:
nosetests -s -v tests.functional.test_app
测试失败,说明我缺少依赖项。当我检查 pip list
时,我可以看到依赖项已经安装。但是我确实注意到日志跟踪引用了 Python3.6
:
$ nosetests -s -v tests.functional.test_app
Failure: ModuleNotFoundError (No module named 'botocore') ... ERROR
======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'botocore')
----------------------------------------------------------------------
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 244, in load_module
return load_package(name, filename)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/imp.py", line 216, in load_package
return _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/tests/functional/__init__.py", line 2, in <module>
from ..common import *
File "/Users/me/git/sdk-python/tests/common.py", line 16, in <module>
import botocore.vendored.requests as requests
ModuleNotFoundError: No module named 'botocore'
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (errors=1)
我设置了以下 pyenv local 3.7.2
和 pyenv global 3.7.2
。
如何确保我 运行 正在使用正确的 Python 版本?
尝试 which nosetests
然后 运行 python3.7 output_of_which_nosetests_here
我使用 pyenv
切换到 Python 3.7.2
。下面证实了这一点:
$ python -V
Python 3.7.2
然后我创建了一个名为 venv
的虚拟环境并安装了我所有的依赖项。当我 运行 pip list
.
当我现在 运行 我使用 nosetest 进行测试时,我使用这个命令:
nosetests -s -v tests.functional.test_app
测试失败,说明我缺少依赖项。当我检查 pip list
时,我可以看到依赖项已经安装。但是我确实注意到日志跟踪引用了 Python3.6
:
$ nosetests -s -v tests.functional.test_app
Failure: ModuleNotFoundError (No module named 'botocore') ... ERROR
======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'botocore')
----------------------------------------------------------------------
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 244, in load_module
return load_package(name, filename)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/imp.py", line 216, in load_package
return _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/tests/functional/__init__.py", line 2, in <module>
from ..common import *
File "/Users/me/git/sdk-python/tests/common.py", line 16, in <module>
import botocore.vendored.requests as requests
ModuleNotFoundError: No module named 'botocore'
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (errors=1)
我设置了以下 pyenv local 3.7.2
和 pyenv global 3.7.2
。
如何确保我 运行 正在使用正确的 Python 版本?
尝试 which nosetests
然后 运行 python3.7 output_of_which_nosetests_here