serii81
@serii81
Я люблю phр...

Как исправить ошибку с зависимостями в python?

Всем привет.
Только начинаю изучать python. Имею опыт работы с php и с javascript.
Система Ubuntu 23.04
Не могу разобраться с зависимостями.

Я создал репозиторий и назвал его libs, там хранятся файлы с кодом, который я бы хотел использовать во многих других проектах.
Например listDir
import os

from termcolor import colored

def listDir(path):
    print(colored(f"Listing directories in ================ {path}", "blue"))
    directories = []
    with os.scandir(path) as entries:
        for entry in entries:
            if entry.is_dir():
                directories.append(entry.name)
                # print(colored(entry.name, "green"))
    # sort the directories by title
    directories.sort()
    for directory in directories:
        print(colored(directory, "green"))
    print(colored(f"Listing directories in ================ {path}", "blue"))


И так около 20 файлов.

И создал другой репозиторий wp-files уже с проектом, который будет создавать файлы и подключать их в wordpress.
В этой папке создал рабочее окружение
python3 -m venv venv
source venv/bin/activate


И установил пакет pyfzf и прописал в requirements.txt

Саму папку с проектом подключил в .zshrc, чтобы была доступна во всей системе.

Теперь при вызове скрипта, появляется ошибка.
File "/home/serii/Documents/python/python-wp-files/libs/selectWithFzf.py", line 1, in <module>
    from pyfzf.pyfzf import FzfPrompt
ModuleNotFoundError: No module named 'pyfzf'


Я в репозиторий с библиотекой тоже создал venv и установил pyfzf, но ошибка не исчезла.

Вот тут я запутался.

Кстати я подключил libs к wp-files через symlink.
drwxrwxr-x     - serii  1 Apr 09:45  .git/
.rw-rw-r--   537 serii  1 Apr 09:10  .gitignore
lrwxrwxrwx    40 serii  1 Apr 08:58  libs -> /home/serii/Documents/python/python-libs/
.rw-rw-r--    92 serii  1 Apr 08:59  README.md
.rw-rw-r--    13 serii  1 Apr 09:23  requirements.txt
drwxrwxr-x     - serii  1 Apr 08:56  venv/
.rwxrwxr-x  2.4k serii 29 Mar 18:15  wp.py*
drwxrwxr-x     - serii  1 Apr 08:35  wp_files/


Или стоило подключить отдельно?
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
serii81
@serii81 Автор вопроса
Я люблю phр...
Решил проблему.
В файле .zshrc создал алиас к скрипту.
alias wp_py="/home/serii/Documents/python/python-wp-files/wp.py"


И создал скрипт с помощью bash, чтобы упростить процесс установки и удаления venv.
#! /bin/bash

if [ ! -f requirements.txt ]; then
  echo "requirements.txt not found"
  exit 1
fi

COLUMNS=1
select action in  "Init" "Install Package" "Install all" "Uninstall" "Freeze" "Exit"; do
  case $action in
    "Init")
      #getcurrentdir
      current_dir=$(pwd)
      current_dir_name="venv-"$(basename $current_dir)
      python3 -m venv $current_dir_name
      source "${current_dir_name}/bin/activate"
      touch requirements.txt
      pip freeze
      pip install -r requirements.txt
      ;;
    "Install Package")
      read -p "Enter the package name: " package_name
      pip install $package_name
      pip freeze > requirements.txt
      ;;
    "Install all")
      pip install -r requirements.txt
      ;;
    "Uninstall")
      read -p "Enter the package name: " package_name
      pip uninstall $package_name
      pip freeze > requirements.txt
      ;;
    "Freeze")
      pip freeze > requirements.txt
      ;;
    "Exit")
      exit 0
      ;;
    *)
      echo "Invalid option"
      ;;
  esac
done

read -p "Enter the package name: " package_name
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
24 нояб. 2024, в 23:46
20000 руб./за проект
24 нояб. 2024, в 23:07
2000 руб./за проект