Несколько раз мне нужно использовать модули, которые не являются частью стандартной установки python по умолчанию, и иногда даже такие пакеты, как Anaconda или Canopy, не включают их. Поэтому каждый раз, когда я переношу свой проект на другую машину или просто переустанавливаю python, мне нужно загрузить их снова. Так что мой вопрос. Есть ли способ хранить необходимые модули в папке проекта и использовать их из него, не переходя в папку установки python по умолчанию.Хранить модули в папке проекта
ответ
Вы можете использовать virtual environment или docker для установки необходимых модулей в проектном каталоге, поэтому он изолирован от вашей системы установки Python. На самом деле вам не нужен Python, установленный на вашем компьютере при использовании докеров.
Вот мой рабочий процесс при разработке веб-приложения Django с Docker. Если в каталоге проекта /Projects/sampleapp
измените текущий рабочий каталог на каталог проекта и запустите следующее.
Запуск Docker контейнер с вашего терминала:
docker run \ -it --rm \ --name django_app \ -v ${PWD}:/app \ -w /app \ -e PYTHONUSERBASE=/app/.vendors \ -p 8000:8000 \ python:3.5 \ bash -c "export PATH=\$PATH:/app/.vendors/bin && bash" # Command expalanation: # # docker run Run a docker container # -it Set interactive and allocate a pseudo-TTY # -rm Remove the container on exit # --name django_app Set the container name # -v ${PWD}:/app Mount current dir as /app in the container # -w /app Set the current working directory to /app # -e PYTHONUSERBASE=/app/.vendors pip will install packages to /app/.vendors # -p 8000:8000 Open port 8000 # python:3.5 Use the Python:3.5 docker image # bash -c "..." Add /app/.vendors/bin to PATH and open the shell
На оболочке контейнера, установить необходимые пакеты:
pip install django celery django-allauth --user pip freeze > requirements.txt
The
--user
варианты наряду с переменной вPYTHONUSERBASE
среда make pip устанавливает пакеты в/app/.vendors
.Создание проекта Джанго и разработать приложение, как обычно:
django-admin startproject sampleapp cd sampleapp python manage.py runserver 0.0.0.0:8000
Структура каталогов будет выглядеть следующим образом:
Projects/ sampleapp/ requirements.txt .vendors/ # Note: don't add this dir to your VCS sampleapp/ manage.py ...
Эта конфигурация позволяет устанавливать пакеты в ваш проект, изолированный от вашей системы. Обратите внимание, что вам нужно добавить requirements.txt
в свой VCS, но не забудьте исключить .vendors/
реж.
Когда вам нужно переместить и запустить проект на другой компьютер, выполните команду Docker выше и переустановить необходимые пакеты на оболочке контейнера:
pip install -r requirements.txt --user
- 1. PyDev не может найти модули в исходной папке проекта
- 2. Где хранить модули npm в контроле источника проекта узла
- 3. Yeoman - Обновить модули узла в папке приложения
- 4. Разделение проекта на модули
- 5. Игнорирование файлов в папке проекта для Doxygen
- 6. Как вызвать модули в папке lib
- 7. Как найти модули в веб-папке подпапки?
- 8. перезаписи URL в папке проекта
- 9. Изображения не в папке проекта
- 10. Общие библиотеки в папке проекта
- 11. manage.py - не в папке проекта?
- 12. Получить файлы в папке проекта
- 13. Где хранить модули Gulp в проектах Laravel
- 14. Разделение Android-проекта на модули?
- 15. хранить изображение в папке в netbeans
- 16. включают intellij модули проекта в gitignore
- 17. IntelliJ Idea - redish модули в дереве проекта
- 18. Хранить base64-кодированную строку в указанной папке
- 19. необходимо хранить файлы в корневой папке
- 20. Два проекта в ASP.NET в одной папке
- 21. загружать файлы и хранить их в папке активов с PhoneGap
- 22. Как получить файл в папке проекта Glassfish
- 23. Файл не найден в папке проекта
- 24. Файл не найден в корневой папке проекта
- 25. как всегда открывать файл в папке проекта
- 26. TemplateDoesNotExist в папке проекта django 1.8
- 27. индексирование и поиск содержимого в папке проекта
- 28. Сохранить файл XML в папке проекта
- 29. Как сохранить файлы изображений в папке проекта?
- 30. ошибки в папке «ЦСИ» при импорте проекта
Я советую переустановить модули; это относительно быстро и безболезненно с 'pip'. Помещение их в папку с проектом просто в какой-то момент испортит ваш проект и эти модули. Кроме того, вы действительно перемещаете машину или переустанавливаете Python так часто? – Evert
Вам нужно 'pip install requirements.txt' и' virtualenv' – 2342G456DI8
Да, это называется виртуальной средой: http://docs.python-guide.org/en/latest/dev/virtualenvs/ –