我的编程空间,编程开发者的网络收藏夹
学习永远不晚

解决Python虚拟环境virtual

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

解决Python虚拟环境virtual

 解决Python虚拟环境下不能使用sudo提升权限问题

问题描述

在虚拟环境下,执行某些命令需要有sudo提升权限,会导致该条命令退出虚拟环境:

如启动django 服务,需要监听80端口:

$: python manage.py runserver 80
Performing system checks...
 
System check identified no issues (0 silenced).
March 15, 2018 - 07:43:40
Django version 2.0.3, using settings 'helloworld.settings'
Starting development server at http://127.0.0.1:80/
Quit the server with CONTROL-C.
Error: You don't have permission to access that port.

此时会提示权限不足,无法访问80端口。

所以通过sudo提升命令权限:

$: ~/python3env/helloworld$ sudo python manage.py runserver 80
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    "Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

此时会提示没有找到Django模块,可是经过如下验证,Django模块安装正常:

$: python
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.__version__
'2.0.3'

而使用sudo启动python,会发现,Django模块无法导入:

$: sudo python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named django

原来,在使用sudo执行命令的时候,该命令会退出当前虚拟环境执行:

$: sudo which python
/usr/bin/python
$: which python
/home/hzc/python3env/venv/bin/python

解决办法

  1. 指定python路径

    $: sudo ../venv/bin/python manage.py runserver 80
    Performing system checks...
    
    System check identified no issues (0 silenced).
    March 15, 2018 - 07:55:29
    Django version 2.0.3, using settings 'helloworld.settings'
    Starting development server at http://127.0.0.1:80/
    Quit the server with CONTROL-C.
    
  2. 在脚本中指定python地址(局限于执行脚本)

    #!/usr/bin/env python 更改前
    #!/home/hzc/python3env/venv/bin/python 更改后

    执行脚本:

    $: sudo ./manage.py runserver 80
    Performing system checks...
    
    System check identified no issues (0 silenced).
    March 15, 2018 - 08:02:48
    Django version 2.0.3, using settings 'helloworld.settings'
    Starting development server at http://127.0.0.1:80/
    Quit the server with CONTROL-C.

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

解决Python虚拟环境virtual

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

解决Python虚拟环境virtual

解决Python虚拟环境下不能使用sudo提升权限问题问题描述在虚拟环境下,执行某些命令需要有sudo提升权限,会导致该条命令退出虚拟环境:如启动django 服务,需要监听80端口:$: python manage.py runserve
2023-01-31

python虚拟环境 | virtual

一.创建virtualenv虚拟环境mkvirtualenv -p 版本号 虚拟名mkvirtualenv -p python3 env_1   python3:版本号  env_1:虚拟环境名称创建成功过后,会默认进入该虚拟环境2.查看该
2023-01-30

python虚拟环境管理之virtual

虚拟环境的作用使python环境拥有独立的包,避免污染原本的python环境。为不同的项目创建不同的环境可以避免安装的库过于庞大和相互干扰。例如你想在同一台机器上开发用python2和python3写的2个项目就可以用虚拟环境进行隔离,又网
2023-01-30

python虚拟环境

好久没写博客了,小伙伴们最近在干嘛呢?最近在搞AI开放平台,就类似腾讯优图,百度人工智能平台~~. 说得是很高大上啦,核心技术的算法并不是我写的。我负责搞API接口,写前端。前端的Vue和Bootstrap,两门技术是目前前端比较流利的。最
2023-01-30

python虚拟环境virtualenv

我们在Windows下开发python应用时,可能需要安装各种第三方模块,但如果又不想污染公共的python环境,怎么办呢?最好是在各自的 python工程中创建一个virtualenv虚拟环境。博主最近需要在虚拟环境中安装MySQL-py
2023-01-31

python的虚拟环境

什么是虚拟环境python特有的一种软件环境,创建多个python环境,各个环境之间完全隔离,互不影响。它可以用来解决Python项目开发和运行过程中的依赖项和版本问题,而不必和其他项目的Python环境以及全局的Python环境发生冲突。
2023-01-31

python虚拟环境:envirtua

https://www.jianshu.com/p/08c...virtualenv虚拟环境是在Python解释器上的一个私有复制,你可以在一个隔绝的环境下安装packages,不会影响到你系统中全局的Python解释器。虚拟环境非常有用,
2023-01-31

Ubuntu python虚拟环境

建立虚拟环境首先更新ubuntu源$ sudo apt-get update安装python3-venv模块$ sudo apt-get install pyton3-venv建立虚拟环境$ python3 -m venv [env_nam
2023-01-31

python虚拟环境管理之以workon切换虚拟环境

Python虚拟环境管理:使用workon切换workon是一种命令行工具,用于管理Python虚拟环境,可轻松切换、创建和删除虚拟环境。通过隔离项目依赖项,虚拟环境避免了冲突和依赖项问题,提高了开发效率。workon的命令包括mkvirtualenv创建环境、workon切换环境和deactivate退出环境。它提供lsvirtualenv列出环境、rmvirtualenv删除环境等实用命令。优点包括轻松切换环境,避免冲突和提高生产力。需要注意的是,workon只能管理本地环境,并且需要shell配置才
python虚拟环境管理之以workon切换虚拟环境
2024-04-14

建立 Python 虚拟环境

1.1 安装依赖包$ yum -y install wget gcc epel-release git 1.2 安装 Python3.6和pip$ yum -y install python36 python36-devel$ curl h
2023-01-30

python搭建虚拟环境

1 . 问题:如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在同一个目录下安装或者更新, 新版本会覆盖以前的版本, 其它的项目就无法运行了.  解决方案 : 虚拟环境作用 : 虚拟环境可以搭
2023-01-30

Python创建虚拟环境不成功怎么解决

Python虚拟环境创建失败的解决方法创建虚拟环境失败可能由Python、Pip版本过低、权限不足或路径错误导致。解决方案包括:验证Python和Pip版本检查系统权限校正路径错误使用venv模块创建虚拟环境激活虚拟环境检查虚拟环境是否激活安装依赖项如果遇到问题,可尝试使用--no-site-packages标志或virtualenv工具。
Python创建虚拟环境不成功怎么解决
2024-04-11

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录