python - Python 从错误的目录导入包(在 virtualenv 之外)
问题描述
我在 Ubuntu 服务器上处理我的 virtualenv。当我尝试导入 scipy. 该模块以某种方式从 virtualenv 外部导入,我不希望这种行为发生。(这就是 virtualenv 的用途,对吗?)
我检查了我正在使用的 python,它是我的 virtualenv 中的那个
$ which python
/mydir/.venv3.6/bin/python
然后我检查了 scipy 是否安装在 virtualenv 中
$ which pip
/mydir/.venv3.6/bin/pip
$ pip list
...
scipy 1.3.1
...
但是,当我导入 scipy 时,它是从 virtualenv 外部导入的。其他模块工作得很好。
$ python
Python 3.6.9 (default, Jul 3 2019, 15:36:16)
...
>>> import numpy
>>> import scipy
>>> print(numpy)
<module 'numpy' from '/mydir/.venv3.6/lib/python3.6/site-packages/numpy/__init__.py'>
>>> print(scipy)
<module 'scipy' from '/usr/lib/python3.6/scipy/__init__.py'>
我卸载 scipy 并重新安装它,但没有任何变化。为什么会这样?
解决方案
我仍然不知道是什么原因造成的。最后,我创建了一个 Conda 环境。从那里开始,一切都按预期工作。
推荐阅读
- google-cloud-platform - BigQuery getQueryResults 始终返回相同的 pageToken
- clearcase - ClearCase - 如何启用“邪恶双胞胎检测”
- mysql - 是否可以使用 mysql.user 进行 FK 引用?
- javascript - JS 不会出现在带有 HTML 的浏览器中
- java - 如何使用 Mockito 在单元测试中正确模拟队列操作?
- bash - 在 Windows 10 的 Ubuntu Bash 中安装 Usearch 时出现问题
- c++ - OpenGL/GLFW C++ 程序不绘制任何东西
- sql-server-2008 - SQL Server 2008:Executenonquery 不返回受影响的行数
- automapper - AutoMapper.Collection.EFCore - 配置期间抛出错误
- java - 组件异常