Как мне контролировать, какая команда будет вводиться python в оболочке

for f in ~/1/2/*/*_1.txt; do
    file_without_path="${f##*/}"
    exptool input1= "${file_without_path}" input2= "${file_without_pathf%_1.txt}_2.txt"
done
1
04.04.2019, 19:27
3 ответа

Это контролируется переменной окружения "PATH".

ПУТЬ — это список каталогов, в которых нужно искать введенную вами команду. Это одна строка, разделенная двоеточиями. Например, :все, что я поместил в свой домашний каталог (/home/philip/bin), будет использоваться вместо чего-либо в /usr/bin/, потому что мой PATH установлен на:

echo $PATH
/home/philip/bin:/usr/local/bin:/usr/bin:/bin:/usr/games

Чтобы временно изменить свой путь, вы можете установить его с помощью «экспорта». Например:

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/home/philip/bin

Чтобы установить это постоянно, вам нужно установить его в своем профиле. Это можно сделать, поместив строку, подобную приведенной выше (, с вашим -упорядоченным путем )в файл в вашем домашнем каталоге с именем .profile. Если этого не существует, просто создайте его и добавьте строку.

0
27.01.2020, 23:41

Кажется, вы хотите использовать виртуальные среды, но не активировали их. Для этого (предполагая, что у вас установлены базовые компоненты venv — лучше работает для python3)

$ mkdir pytry
$ python3 -m virtualenv pytry

Теперь у вас должен быть виртуальный каталог env в pytry. cd в pytryи вы должны увидеть, например,

$ ls
bin  include  lib  local  share
$ 

Теперь запустите

source bin/activate

Примечание. Запуск выше из виртуального каталога env (в нашем случаеpytry)

Теперь вы должны обнаружить, что ваша подсказка должна была измениться с (, скажем,)$на (pytry) $

.

И which pythonсообщит вам ваш исполняемый файл Python

Если вы хотите другой исполняемый файл, то во время создания venv вам нужно запустить его вместо

python3 -m virtualenv pytry

делать

python3 -m virtualenv -p other_python_executable pytry

Обычно это показывает справку

$ python3 -m virtualenv -h
1
27.01.2020, 23:41

Похоже, Анаконда топает по вашей PATH (, т.е.продвижение пути собственного интерпретатора Python перед путем к системному интерпретатору по умолчанию ). Есть несколько способов справиться с этим:

  1. Создайте экземпляр Anaconda с правильной версией Python:

    conda create -n myenv python=3.4
    
  2. Переопределить переменную среды PATH после загрузки экземпляра anaconda.

    export PATH=/usr/bin:$PATH
    
  3. Или поместите предпочтительный путь в первую строку файла сценария, установите файл как исполняемый и запустите его как сценарий оболочки. Первая строка скрипта будет выглядеть примерно так:

    #!/usr/bin/python
    

    Вы должны установить исполняемый файл с помощью команды «chmod»:

    > chmod 700 file.py
    

    Затем запустите из командной строки как:

    > file.py
    
0
27.01.2020, 23:41

Теги

Похожие вопросы