2013-04-03 39 views
19

Thực hiện demo python heroku và gặp sự cố với Procfile. Tôi có nó trong thư mục bên phải (cùng với requirements.txt, venv /, và app.py) và tệp là "Procfile" không có phần mở rộng .txt (như các câu hỏi khác được đề xuất).Không tìm thấy tệp tin Procfile, ứng dụng python Heroku

Nội dung Procfile là:

web: python app.py 

Tuy nhiên, tôi tiếp tục nhận được "Procfile không tồn tại" lỗi khi chạy "bắt đầu đốc." Tại trí thông minh của tôi kết thúc, bất kỳ lời đề nghị sẽ được đánh giá cao.

Chúc mừng, Thain

EDIT: thử lại tạo ra "Procfile" sử dụng lệnh echo chứ không phải là một biên tập viên -

echo "web: python app.py" > Procfile 

làm việc sau đó, cảm ơn.

+0

có thể đóng lại sau đó? – catsby

+0

điều này chỉ làm việc cho tôi cũng như sau hơn một giờ cố gắng tìm một câu trả lời cho vấn đề này – jac300

+2

8 người đã upvoted câu hỏi này, ngụ ý có một vấn đề phổ biến của một số loại. Có lẽ bạn có thể đăng câu trả lời cho câu hỏi của riêng bạn giải thích những gì đã khác với trình soạn thảo của bạn? Nếu tôi tạo một tệp như vậy với vim, nó sẽ giống hệt với kết quả của lệnh echo đó - vì vậy, bạn đã sử dụng trình soạn thảo nào, tệp đã lưu khác với tệp đã hoạt động như thế nào? Trình soạn thảo của bạn có buộc Unicode hay thêm phần mở rộng tệp mà bạn không chú ý không? –

Trả lời

13

Chỉ cần thêm câu trả lời để có thể đóng câu trả lời (hoặc chuyển từ phần câu hỏi chưa được trả lời).

Như đã lưu ý trong các nhận xét, hãy thử sử dụng lệnh echo để tạo tệp chứ không phải trình chỉnh sửa. Tôi nghi ngờ rằng điều này là do một newline char được thêm vào bởi hầu hết các biên tập viên mà heroku đang gặp khó khăn.

Ví dụ giải pháp (từ qn):

echo "web: python app.py" > Procfile 
5

Vấn đề là có khả năng nhất là một vấn đề mở rộng. Ví dụ: trong Windows, tệp được lưu trong notepad có mặc định là mở rộng .txt. Tuy nhiên, khi bạn echo nó vào một tập tin, tập tin được lưu với đúng tên, trong trường hợp này: Procfile.

Tôi đang viết thư này vì ai đó tôi biết có cùng vấn đề và điều này có thể giúp những người khác gặp vấn đề tương tự.

+1

+1 Chào mừng bạn đến với Stack Overflow! – Augiwan

0

Tôi gặp vấn đề tương tự nhưng trong laravel. Như đã nói ở trên, một số trình soạn thảo văn bản, ví dụ: Notepad sẽ thêm phần mở rộng .txt theo mặc định nếu bạn không chỉ định phần mở rộng của tệp.

Vì vậy, bạn sẽ phải nộp thay vì tập tin Procfile mà Heroku sẽ không phát hiện

Để tránh Ngoài phần mở rộng này Procfile.txt, sử dụng soạn thảo văn bản Sublime download sublime free nó sẽ tiết kiệm được nó mà không có phần mở rộng .txt

0

Các cách dễ nhất để tạo một tệp tin procfile (không sử dụng IDE và gặp phải sự cố với phần mở rộng của tệp), là chạy mã này trong thiết bị đầu cuối của bạn.

touch procfile 

Nếu bạn nhìn lên "chạm", nó thực sự có nghĩa là để chỉ cần cập nhật các dấu thời gian của một tập tin hiện có, nhưng một tiện dụng sản phẩm phụ, là nó tạo ra một tập tin, nếu không có ai ở đó trong nơi đầu tiên.

1

Sau khi dành một lượng thời gian đáng kể cho việc này .. Tôi nghĩ điều quan trọng là chia sẻ ..

Trong thư mục gốc của thư mục của bạn => touch Procfile git add git commit git push

đảm bảo Procfile của bạn trên github là "Procfile" không "procfile"

git push heroku master

Nó phải là trường hợp thích hợp cả hai tại địa phương và trên github để heroku nhận ra nó.

2

xóa các tập tin từ thư mục .git, và cố gắng thêm các tập tin của bạn để git một lần nữa bằng cách sử dụng commands-

git init sau

git add.

git commit -m "Procfile vấn đề giải quyết"

Heroku git: từ xa --app yourappname

git push Heroku chủ

Heroku mở

hy vọng điều này giúp ....

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