2010-04-17 25 views
9

Tôi thiết lập virtualenv, đang hoạt động, nhưng vì một số lý do tôi cần sử dụng sudo cho các lệnh đơn giản như mkdir. Rõ ràng tôi đã làm một cái gì đó không chính xác. Bất kỳ ý tưởng nó có thể là gì?Trong virtualenv của tôi, tôi cần sử dụng sudo cho tất cả các lệnh

Cảm ơn

+3

Bạn đã sử dụng sudo để tạo virtualenv chưa? – David

+0

Vui lòng chỉnh sửa câu hỏi để mô tả chính xác cách bạn tạo virtualenv (lệnh nào và như người dùng nào). –

+0

@David, có vẻ như tôi đã phải sử dụng 'sudo' để tạo nó. Cảm ơn – Zach

Trả lời

14

Kiểm tra các điều khoản thư mục và chủ sở hữu và cung cấp cho:

$ sudo chown -R me:me virtualenvdir 
$ sudo chmod -R a+rX virtualenvdir 

thay đổi me với Tên truy nhập của bạn, thường $ USER, và virtualenvdir với thư mục làm việc của virtualenv của bạn.

+0

Cảm ơn ..... Tôi đã tìm ra từ câu trả lời của ~ unutbu .... Tôi sẽ chuyển bạn thành câu trả lời chính xác mặc dù tôi nghĩ đây là giải pháp tốt hơn là tái tạo – Zach

+1

Ghi nhớ trẻ em, bất cứ khi nào bạn phải sử dụng sudo để làm điều gì đó, đó là một vấn đề quyền hạn! – jathanism

5

Các lệnh

cd test 
sudo virtualenv python 

tạo ra một thư mục gọi là python thuộc sở hữu của root.

drwxr-xr-x 5 root root  4096 2010-04-17 11:40 python 

Điều đó sẽ buộc bạn phải sử dụng sudo cho những thứ đơn giản như thực hiện một thư mục bên trong thư mục python.

Việc sửa chữa sẽ được xóa python thư mục (lưu dữ liệu đầu tiên nếu cần thiết) và ban hành lệnh

virtualenv python 

mà không sudo.

+1

Tôi đã thay đổi quyền sở hữu của các tệp đó thay vì tạo lại. Tôi đã thử điều đó trước đây nhưng tôi không biết về lá cờ '-R' cho' chown'. Cảm ơn sự giúp đỡ của bạn – Zach

Các vấn đề liên quan