Vì vậy, một lần nữa, tôi tạo một chương trình python đẹp giúp cuộc sống của tôi trở nên dễ dàng hơn và tiết kiệm rất nhiều thời gian. Ofcourse, điều này liên quan đến một virtualenv, được thực hiện với các chức năng mkvirtualenv
của virtualenvwrapper. Dự án có một tập tin requirements.txt với một vài thư viện cần thiết (yêu cầu quá: D) và chương trình sẽ không chạy nếu không có các thư viện này.chức năng virtualenvwrapper không có trong kịch bản shell
Tôi đang cố thêm tập lệnh shell thực thi bin/run-app
sẽ nằm trong đường dẫn của tôi (liên kết tượng trưng thực sự). Bây giờ, bên trong kịch bản này, tôi cần phải chuyển sang virtualenv trước khi tôi có thể chạy chương trình này. Vì vậy, tôi đặt điều này trong
#!/bin/bash
# cd into the project directory
workon "$(cat .venv)"
python main.py
Một tệp .venv
chứa tên virtualenv. Nhưng khi tôi chạy tập lệnh này, tôi gặp lỗi workon: command not found
.
Tất nhiên, tôi có virtualenvwrapper.sh có nguồn gốc trong bashrc của tôi nhưng nó dường như không có sẵn trong tập lệnh shell này.
Vì vậy, làm cách nào tôi có thể truy cập các chức năng virtualenvwrapper ở đây? Hoặc tôi đang làm điều này một cách sai lầm? Làm thế nào để bạn khởi động các công cụ python của bạn, mỗi công cụ đều có virtualenv riêng của nó !?
Điều này yêu cầu vị trí mã hóa của vị trí của virtualenvwrapper.sh, vốn phụ thuộc vào hệ điều hành, trong số nhiều thứ khác. –
@ShrikantSharat tốt, vì điều này có nghĩa là chỉ là một cách dễ dàng hơn cho bạn để chạy các kịch bản trong một virtualenv (vì vậy chỉ trên hệ thống của bạn), nó không thực sự là một vấn đề, phải không? Nếu bạn muốn phân phối mã của bạn, tôi nghi ngờ bạn sẽ yêu cầu người dùng cài đặt virtualenv và tạo một mã, bạn chỉ cần cung cấp cho anh ta một danh sách các phụ thuộc để cài đặt. – MatToufoutu
* Người dùng * sẽ là những người bạn công nghệ của tôi, những người cũng muốn có virtualenv cho các phụ thuộc của chương trình này. Tôi không phải yêu cầu họ;) –