首页 > 解决方案 > Python虚拟环境不默认python包

问题描述

我必须创建虚拟环境并将其移动到某个远程服务器。为此,我创建了环境,但它不包含默认的 python 包,如 json 和日志记录。

导入某些包时出现错误: Traceback(最近一次调用最后一次):文件“”,第 1 行,在 ModuleNotFoundError:没有名为 'json' 的模块

如您所见,json 来自默认路径而不是来自虚拟环境

source venv3/bin/activate
(venv3) [user1@nn1 ~]$ python
Python 3.7.4 (default, Dec 12 2019, 12:03:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import json
>>> print(json.__file__)
/usr/local/lib/python3.7/json/__init__.py
>>> import influxdb
>>> print(influxdb.__file__)
/home/user1/venv3/lib/python3.7/site-packages/influxdb/__init__.py

标签: pythonvirtualenv

解决方案


Virtualenvs 不能在服务器之间移动。您是否将 virtualenv 移至新服务器?如果是这样,我认为对您来说最简单的方法是在远程服务器上重新创建它。


推荐阅读