What does TERM environment variable not set mean? [duplicate] - python

This question already has answers here:
How to fix "TERM environment variable not set" when clearing console using Python code?
(2 answers)
Closed 12 months ago.
I am new to python, I was trying to clear the console and I got this message 'TERM environment variable not set'.
I found ways to fix the issue online but I couldn't find an explanation for what it actually means.

$TERM is an environment variable, meaning that it is maintained by the OS, and shared between programs, rather than just belonging to your own program.
In this case, $TERM represents the type of terminal your program is running in. For example, when I run echo $TERM in a terminal, I get xterm-256color as output. Presumably, the clear command you're using checks what terminal is being used in order to figure out how to clear the terminal (since different terminals might do so in different ways).

Related

can we access a python console in a terminal via an interruption within the python script for debugging [duplicate]

This question already has answers here:
How to step through Python code to help debug issues?
(15 answers)
Can I put a breakpoint in a running Python program that drops to the interactive terminal?
(6 answers)
Closed 2 years ago.
To clarify my question, for example in some IDEs such as PyCharm one can put a breakpoint in the code, run the python script and when the code reaches that breakpoint, the program stops while the user can investigate some of the variables until that breakpoint.
Is such functionality possible through a terminal, that is executing a python code but while having it stopped at a certain line, a python console would be available for debugging.
Yes, you can use builtin Python Debugger import pdb; pdb.set_trace() as a one-liner to get full access to the current scope you are in, ability to call any functions, step through code, display values etc.
There's also https://pypi.org/project/pdbpp/ which needs to be installed separately. It has all the features that pdb has and then some.
i think that is not possible if u are running it in just the terminal.
if u want to investigate variables and stuff at a certain point, maybe u can simply just code lens

VS Code - can you display a Python shell [duplicate]

This question already has answers here:
How to execute Python code from within Visual Studio Code
(34 answers)
Closed 4 years ago.
When using Python IDLE I find the Python shell, with the >>> prompt very useful for testing syntax. Is there a way of getting a Python shell integrated in VS Code?
Maybe the answer is just to open Python IDLE in another window.
Apparently this is a duplicate of another question, but I did several searches on the words Python shell and didn't find anything that seemed relevant. Sorry.
Many thanks to Jaxi for the answer that you need to type Python in the Terminal Window.
stated here you can use ctrl+backtick to open a terminal window, then from there just type python and it will give you the python shell:
https://code.visualstudio.com/docs/editor/integrated-terminal

Creating Environment Variables in Python does not seem to work [duplicate]

This question already has answers here:
Can a shell script set environment variables of the calling shell? [duplicate]
(20 answers)
Closed 5 years ago.
I am writing a python script and I want this script to write some value to an environment variable which does not exist before the running of this script. The OS which I am running is Ubuntu. So ideally, after execution of the script, I should be able to display the environment variable using the echo command on the terminal. By that I mean the terminal behaviour should be as such:
> echo $NEW_VAR
environmentvarvalue
I want to be able to access this environment variable in a different python script as well. So the following code:
import os
output = "The value of NEW_VAR is " + os.environ.get('NEW_VAR')
print output
when run after running the initial script, should produce the following output when executed:
The value of NEW_VAR is environmentvarvalue
I have tried the following code in my initial script after a bit of research about this:
import os
os.environ['NEW_VAR'] = 'environmentvarvalue'
but the environment variable gets saved only for the scope of the initial scrpt, and when I run the echo command on the terminal after execution of the script, the behaviour is the same as when the variable does not exist. Is there something wrong with my code? Or is there a better way of assigning an environment variable through python? I know that I can probably run the export command from the subprocess python module, but this does not seem like the right way to solve this problem.
You can't do this using environment variables. Your environment is destroyed when the script finishes. The parent process (your shell) will never see the variable.
You need a different approach. Possibly writing to a file or a database.

unable to source bash file from python shell script [duplicate]

This question already has answers here:
Calling the "source" command from subprocess.Popen
(9 answers)
Closed 5 years ago.
Hello I am trying to source of file say check.setup from my pythons script.
Code
import os
os.system("source /fullpathhere/check.setup")
It says command not found. Surprisingly I can source the same file directly from the shell.
check.setup is csh file. It is sourcing other .csh files and setting few environment variable I saw few answers here but no one could possibly solve the problem.
PS: I tried to write bash file instead of python. I also tried using subprocess.Popen. Problem persists.
Aashish
use popen
subprocess.Popen('source ./fullpathhere/check.setup', shell=True)
Why didn't tag your posting as csh, even though you explicitly mention csh in your question....
There is no executable namend source (you can verify it by typing bin/which source. Well, you pointed out by yourself, that this is supposed to be done by csh, but how should Python know that it needs to invoke csh, if you don't tell it?
I don't have a csh on my system, but if I remember right from the time a couple of decades ago, where I indeed used csh for programming, you can do something like
os.system("csh -c fullpathhere/check.setup")
Actually, I would also specify the -f flag for skipping .cshrc, unless you really need that to be sourced as well.

Pycharm detection [duplicate]

This question already has an answer here:
How to check if python unit test started in PyCharm or not?
(1 answer)
Closed 6 years ago.
I want to know whether python script is started from PyCharm. Next string
in_pycharm = 'original_argv' in dir(sys) and 'pydevd' in sys.original_argv[0]
works ok for Debug and don't work for Run.
Can anyone recommend me better way?
Simplest solution is probably to have pycharm specify an environment variable, something like INPYCHARM=1, then check os.environ.get('INPYCHARM')==1. You can specify the environment variable in the Run/Debug configuration menu (from the Run drop-down menu).
Edit: Looks like PYCHARM_HOSTED is specified in os.environ by default, so the following should work (tested on pycharm 5.0.4).
in_pycharm = 'PYCHARM_HOSTED' in os.environ

Categories

Resources