相关疑难解决方法(0)

Python 3中execfile的替代方法是什么?

似乎他们在Python 3中取消了通过删除快速加载脚本的所有简单方法 execfile()

有没有一个明显的选择我错过了?

python python-3.x

325
推荐指数
10
解决办法
24万
查看次数

使用python在不同的virtualenv中运行子进程

假设我在2种不同的虚拟环境中安装了2个不同版本的应用程序.myapp v1.0和myapp v2.0.

现在我想比较一下.比较是用python本身编写的.最好的方法是什么?我们假设我可以单独运行它们并且都写一个输出文件,我可以稍后比较.

一种方法是编写一个bash脚本(这就是我目前所拥有的).我激活一个virtualenv,运行myapp v1.0,激活另一个virtualenv,运行myapp v2.0.稍后在这些文件上运行比较模块.但是我想在那里添加更多的动态(采用一些可选的参数等),使用python会更容易.

编辑:

目前我有类似的东西(一个bash脚本):

source virtualenv1/bin/activate
python my_script.py
deactivate

source virtualenv2/bin/activate
python my_other_script.py
deactivate

python my_comparison_script.py
Run Code Online (Sandbox Code Playgroud)

相反,我只想这样做:

python my_comparison_script.py
Run Code Online (Sandbox Code Playgroud)

我的脚本将在此内部运行.

python virtualenv

24
推荐指数
3
解决办法
1万
查看次数

在venv/pyvenv中没有activate_this.py文件

我需要从python脚本中启动venv/pyvenv,我知道正式文档要运行:

activate_this = '/path/to/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
Run Code Online (Sandbox Code Playgroud)

但我没有activate_this.py文件,我无法找到任何地方如何创建一个.

我正在运行python 3.4.1.知道我需要做什么吗?

python virtualenv

16
推荐指数
1
解决办法
8839
查看次数

用于激活并保持打开 Virtualenv 的 Python 脚本

我需要一个python脚本来激活virtualenv,在virtualenv中运行另一个python程序,然后在第二个python程序关闭后关闭virutalenv。这是我的代码:

import os
import subprocess
from subprocess import Popen

activate_dir = "C:/Users/JohnDoe/theprogram/Scripts/"
os.chdir(activate_dir)
subprocess.Popen(["activate.bat"])

cal_dir = "C:/Users/JohnDoe/theprogram/"
os.chdir(cal_dir)
os.system('python program_file.py')
Run Code Online (Sandbox Code Playgroud)

但是,当此代码运行时,我收到一个导入错误,program_file这意味着 virtualenv 未激活。我怎样才能解决这个问题?

谢谢

编辑: 这是在 Windows 环境中。

python virtualenv python-3.x

6
推荐指数
1
解决办法
4648
查看次数

如何在 python 脚本中创建 Python 虚拟环境

我需要利用我的本地环境,并为特定工具使用虚拟环境,但该工具与我的本地环境存在依赖性问题。(我已经知道如何在脚本中使用 virtualEnv,这里我尝试在脚本中创建一个新的虚拟环境。)我想在运行时在 python 程序中创建一个 python 虚拟环境(因为我必须在程序末尾删除此环境)。需要这个环境作为关键字参数 env 传递给 python 子进程。

我知道我可以使用命令作为 python 子进程的参数来创建 virtualEnv。我正在寻找其他方法

python virtualenv

6
推荐指数
1
解决办法
9878
查看次数

如何在 venv 中运行 Python 脚本?

我正在尝试使用 venv 在 Linux 中启动电报机器人。但只有手动激活 venv 时,机器人才会启动。

Python代码:

#!env/bin/python3
# -*- coding: utf-8 -*-
import config
import telebot

bot = telebot.TeleBot(config.token)

@bot.message_handler(content_types=["text"])
def repeat_all_messages(message): 
    bot.send_message(message.chat.id, message.text)

if __name__ == '__main__':
    bot.infinity_polling()
Run Code Online (Sandbox Code Playgroud)

机器人以命令启动:

root@ubuntu-s-1vcpu-1gb-ams3-01:~/jira_bot# source env/bin/activate
(env) root@ubuntu-s-1vcpu-1gb-ams3-01:~/jira_bot# python3 sreda_bot.py
Run Code Online (Sandbox Code Playgroud)

但如果我尝试在不激活 venv 的情况下启动它:

root@ubuntu-s-1vcpu-1gb-ams3-01:~/jira_bot# python3 sreda_bot.py
Traceback (most recent call last):
  File "sreda_bot.py", line 4, in <module>
    import telebot
ModuleNotFoundError: No module named 'telebot'
Run Code Online (Sandbox Code Playgroud)

python ubuntu

2
推荐指数
1
解决办法
8167
查看次数

标签 统计

python ×6

virtualenv ×4

python-3.x ×2

ubuntu ×1