[爆卦]Heroku 是什麼是什麼?優點缺點精華區懶人包

為什麼這篇Heroku 是什麼鄉民發文收入到精華區:因為在Heroku 是什麼這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者jp956956 (儲備里長伯)看板Python標題[問題] heroku的執行問題?時間Sun...



最近用django做了一個網站
想要用heroku來當作一個伺服器

到了網站之後找網站教學
一個一個做
後來執行到

http://i.imgur.com/CVpPlKa.jpg

叫我執行
python manage.py collectstatic
執行後回覆yes就可以

但是我執行這個指令
卻說我settings.py裡
沒有django_heroku這個東西

http://i.imgur.com/oAfV69j.jpg

我打開setting.py看到她確實有import
不過下面卻沒有找到他要引入的東西
我想應該是這樣才會卡住
網路找方法也找不到這是什麼情形


作業系統都是在windos下執行的
困擾很久 重複好幾次也是一樣

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.39.44
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1538841869.A.091.html
gmccntzx1: 你應該是沒有安裝到那個 library,試著執行以下指令: 10/07 10:18
gmccntzx1: pip install django_heroku 10/07 10:18
gmccntzx1: 另外,檢查一下你有沒有照著這個跑過? 10/07 10:23
gmccntzx1: https://git.io/fxsZk 10/07 10:23
gmccntzx1: #Running locally 那一段有一個 `pipenv install` 10/07 10:25
gmccntzx1: 會自動安裝相依的套件,執行完若還有問題再麻煩你回報 10/07 10:25
剛剛執行完之後
跑到下一個階段還是一樣問題不斷
決定重新用一次pipenv 結果執行問題蠻多的

Installing packages for your project

Pipenv manages dependencies on a per-project basis. To install packages,
change into your project’s directory (or just an empty directory for this
tutorial) and run:

$ cd myproject
$ pipenv install requests


看這一段文字應該是要我先執行安裝什麼東西再跑下面的東西
可是沒看到他有任何東西要我安裝
也沒有找到 myproject資料夾可以移動
即使移動到python資料夾進行 pipenv安裝
一樣是遇到一堆模組無法載入的問題

不知道這裡到底是要怎麼操作
去網路找每一篇講的也都不一樣
怎麼裝個pipenv就那麼複雜...
※ 編輯: jp956956 (111.255.179.210), 10/07/2018 16:48:49
gmccntzx1: `$ cd myproject` 的 `myproject` 指的是你要安裝 10/07 17:08
gmccntzx1: package 的資料夾。以你上面的例子來說,就是要到 10/07 17:08
gmccntzx1: myproject 這個資料夾安裝 requests 這個 package 10/07 17:08
gmccntzx1: 回到原本的問題,你在 `Run the app locally` 這個步驟 10/07 17:11
gmccntzx1: 有成功了嗎?沒有的話,出現什麼錯誤?可否擷圖上來? 10/07 17:12
gmccntzx1: (建議善用鍵盤上的 Print Screen 鍵,別用手機拍...) 10/07 17:13
gmccntzx1: 一步一步來,做到哪個步驟有問題就更新此文吧 10/07 17:14
gmccntzx1: 不然你僅僅敘述說 "下一個階段還是問題不斷..." 或 10/07 17:15
gmccntzx1: "結果執行問題蠻多的"這類的話,卻沒有把你遇到的情況 10/07 17:16
gmccntzx1: 說明清楚,大家也不知道該怎麼幫你囉... 10/07 17:17
gmccntzx1: 再補充一下:你目前回報的進度是執行到 `Push local 10/07 17:23
gmccntzx1: changes` 對吧? 該頁文件一開始請你安裝 requests 的 10/07 17:24
gmccntzx1: 位置,就是你從 GitHub clone 下來的 python-getting- 10/07 17:25
gmccntzx1: started 這個專案。 10/07 17:25
gmccntzx1: 所以如果你目前 terminal 的位置不在該資料夾的話,請 10/07 17:26
gmccntzx1: 你輸入 `cd C:\Users\USER\python-getting-started` 10/07 17:27
gmccntzx1: (按照你給的圖中資料夾所在位置) 10/07 17:27
gmccntzx1: 之後再執行 heroku 該頁教學的第一個步驟。 10/07 17:28
我run the app locally問題就跟我發文的第二張圖片描述一樣
跑了就會說缺少module 我覺得可能是前面東西安裝不完全
所以我整個從第一個設定開始重來
https://imgur.com/A65XkLZ
Pipenv installed locally. Accomplish this by running pip install pipenv.
^目前在執行這一個
然後跑到這一邊卡住了
https://imgur.com/Q2D0Xmc
我有照他note說的 將path設定成他所要求的scripts
不過後來移動到資料夾中
不知道要移動到哪一個資料夾進行requests的安裝
script跟site-packages都不行
https://imgur.com/NcYHerW
我的路徑是這樣子的
執行了之後會像下面這樣
https://imgur.com/8QsOvay
這個我真的抓不出他問題是什麼
※ 編輯: jp956956 (111.255.179.210), 10/07/2018 20:43:31
gmccntzx1: 你有看到該段標題說 "Installing packages for your 10/07 21:33
gmccntzx1: project" 吧? 所以該段內容是告訴你,如果你要裝任何 10/07 21:34
gmccntzx1: package,可以用他敘述的方式安裝。 10/07 21:34
gmccntzx1: 現在你的目標應該是去跑 heroku 的 tutorial,所以你 10/07 21:35
gmccntzx1: 如果一直照著 pipenv 的文件跑,你當然不知道指令中 10/07 21:36
gmccntzx1: `myproject` 是什麼? 10/07 21:36
gmccntzx1: 所以從這步開始,回頭去看 heroku 的教學,裝完 psql 10/07 21:37
gmccntzx1: 然後做到第三步完後,你會從他們的 GitHub 把教學用的 10/07 21:38
gmccntzx1: repo clone 到你的電腦,接著 cd 到該資料夾,輸入 10/07 21:39
gmccntzx1: `pipenv install requests` 後,看有沒有安裝成功。 10/07 21:40
gmccntzx1: (以上同時也是此步驟的第一步: https://goo.gl/adzZvb) 10/07 21:41
gmccntzx1: 另外,根據你這張圖 https://imgur.com/8QsOvay 中的 10/07 21:54
gmccntzx1: 錯誤訊息,剛剛查到應該是 pipenv 的問題,詳見以下 10/07 21:54
gmccntzx1: https://git.io/fxs2o 10/07 21:55
gmccntzx1: 你可以先確認一下你的 pipenv 的版本,試試看以下 10/07 21:57
gmccntzx1: `pipenv --version`,看你的 pipenv 版本是不是 18.1? 10/07 21:58
gmccntzx1: 如果是的話,可以先試著用稍早版本的 pipenv,詳情請 10/07 22:00
gmccntzx1: 見該 issue 中 @nealedj 的回應: https://git.io/fxs2d 10/07 22:01

現在做到
Declare app dependencies

https://imgur.com/AIeyiYl

當我執行pipenv --three就會出現

https://imgur.com/BkivTdd

'pipenv' 不是內部或外部命令、可執行的程式或批次檔。
我也已經改好她的環境變數路徑了 一樣是跳這個結果出來
安裝pip install --user pipenv
也是如圖一樣跳出一堆不知道什麼東西
叫我去更新pip??

https://imgur.com/FH27eIh
環境變數這樣

比前幾天卡的還更前面
※ 編輯: jp956956 (111.255.179.210), 10/07/2018 23:26:06
gmccntzx1: https://i.imgur.com/FH27eIh.png 環境變數修改一下10/07 23:43
gmccntzx1: 倒數第3行 `C:\Users\Username...` 中的 `Username` 請10/07 23:44
gmccntzx1: 改成你目前電腦的 username (由其他變數判斷應為 USER)10/07 23:45
gmccntzx1: 也就是改成 `C:\Users\USER\AppData\(...後略)`10/07 23:47
gmccntzx1: 對了,修正一下我上一段的回應,應該是檢查 pip 的版本10/07 23:59
gmccntzx1: 而不是 pipenv 的版本,抱歉10/07 23:59
我pip是9.0.1的
他說有18.0的可以用
沒更新好像不能跑
不知道要不要更新
※ 編輯: jp956956 (180.217.240.150), 10/08/2018 10:16:51
gmccntzx1: 你先測看看照著上述修改環境變數後 pipenv 能不能跑?10/08 10:29
gmccntzx1: 可以的話就繼續跑 heroku 的教學, pip 可先不升級。10/08 10:30
可是我就是照heroku步驟
他就是要我去架設pipenv
不過就是沒辦法執行阿
※ 編輯: jp956956 (180.217.240.150), 10/08/2018 10:53:18
gmccntzx1: pipenv 是結合 pip + virtualenv 的一個 package 10/08 11:05
gmccntzx1: 可以讓你安裝其他 package (pip 用途),也可以建立虛擬 10/08 11:06
gmccntzx1: 環境 (virtualenv 用途)。 10/08 11:06
gmccntzx1: 那你現在所謂 "不能執行" 的情況是指? 10/08 11:07
gmccntzx1: 1. 在 cmd 輸入 pipenv 後仍出現 'pipenv' 不是內部或 10/08 11:09
gmccntzx1: 外部命令... 之類的訊息? 10/08 11:09
gmccntzx1: 2. 執行 pipenv 時,有跳出其他錯誤訊息? 10/08 11:09
gmccntzx1: 你如果可以把目前執行到哪一步和遇到的錯誤詳細描述出 10/08 11:10
gmccntzx1: 來的話,我會比較容易知道怎麼幫你 10/08 11:11
gmccntzx1: 畢竟在這溝通的方式是透過留言和回文,所以如果你能盡 10/08 11:12
gmccntzx1: 量把詳細情況說明清楚的話,可以省掉像上述追問詳細情 10/08 11:13
gmccntzx1: 況的回覆。 10/08 11:13

今天把路徑設定好了
也成功跑完pipenv 像這樣安裝pipenv --three
https://imgur.com/u7cj5TR

完成後再安裝pipenv install
最後開啟 pipenv shell
https://imgur.com/idDVruI

到這邊都還可以
然後就進入昨天卡住的地方
Run the app locally
移動到我manage.py所在的資料夾執行命令
https://imgur.com/idDVruI
又出現沒有django module
暈倒
※ 編輯: jp956956 (111.255.179.210), 10/08/2018 18:16:54
gmccntzx1: https://imgur.com/u7cj5TR 從這張圖開始,建議你在 10/08 18:22
gmccntzx1: 其他地方建立一個專門放 python project 的資料夾,不 10/08 18:22
gmccntzx1: 要直接在 C:\Users\USER 那邊建立 virtualenv... 10/08 18:23
gmccntzx1: https://i.imgur.com/idDVruI.png 然後在這張圖中, 10/08 18:26
gmccntzx1: 你可以直接`cd C:\Users\USER\python-getting-started` 10/08 18:27
gmccntzx1: 移到該資料夾,不用一直慢慢 cd 回上一層再轉進去... 10/08 18:28
gmccntzx1: 然後,最後出現的 ModuleNotFoundError ,很明顯就是告 10/08 18:28
gmccntzx1: 訴你,現在找不到 'django' 這個 module 10/08 18:29
gmccntzx1: 由於你下 `pipenv install` 指令的地方根本不在該資料 10/08 18:30
gmccntzx1: 夾,所以當然不會根據 python-getting-started\Pipfile 10/08 18:31
gmccntzx1: 安裝該專案相依的 package。 10/08 18:31
gmccntzx1: 所以麻煩你在 python-getting-started 這個資料夾下, 10/08 18:32
gmccntzx1: 先執行一次 `pipenv install`,再來跑 10/08 18:33
gmccntzx1: `python manage.py collectstatic` 看看, 10/08 18:34
gmccntzx1: 有出現什麼錯誤的話再麻煩你回文。 10/08 18:34
gmccntzx1: 另外,請你也先確認前一步(https://goo.gl/XRzm2k)已經 10/08 18:36
gmccntzx1: 完成,再跑下一步(就是你現在跑的Run the app locally) 10/08 18:36

我有照你說的新建了一個webmaker資料夾放python-getting-started了
路徑是這樣的
https://imgur.com/8xWPgcA

然後正常執行完都會有斜線劃掉
https://imgur.com/hGKS437
不知道為什麼到
deploy app就沒有了
是沒有成功執行的意思嗎?

然後我在python-getting-started下執行pipenv --three
跑出下列這樣結果
https://imgur.com/Tp6Nodz
※ 編輯: jp956956 (111.255.179.210), 10/08/2018 19:28:26
gmccntzx1: heroku 教學那邊的步驟有沒有劃掉不重要,學著看執行 10/08 19:49
gmccntzx1: 各個命令後產生的訊息來判斷是否成功比較重要。10/08 19:50
gmccntzx1: https://imgur.com/Tp6Nodz 從這張看來,你是不是還沒10/08 19:51
gmccntzx1: 在該資料夾跑過 `pipenv install`?10/08 19:51
可是pipenv install
官網寫在pipenv three之後才執行的阿
※ 編輯: jp956956 (180.217.240.150), 10/08/2018 19:54:20
gmccntzx1: 你先用原始的 pipfile 跑 `pipenv --three` 看看會不會10/08 20:04
gmccntzx1: 也跑出這個錯誤? 我猜你現在遇到這個錯誤是因為你修改10/08 20:05
gmccntzx1: pipfile 後(執行這步時),因為編輯器存檔的關係讓檔案10/08 20:06
gmccntzx1: 的 encoding 跑掉。 順便問一下你現在是用什麼編輯器10/08 20:06
gmccntzx1: 去開 .py 檔?10/08 20:06
gmccntzx1: 如果是 notepad 的話,建議你先換著使用 vs code /10/08 20:08
gmccntzx1: sublime text / notepad++ ... 等其他文字編輯器。10/08 20:08
那我該從頭開始嗎
不然改了一堆東西都亂了
notepad不好嗎@@
之前是都用visual studio
不過看到有人說寫這個用notepad好才用的
※ 編輯: jp956956 (180.217.240.150), 10/08/2018 20:10:26
gmccntzx1: 修正:上面說的`執行這步`是指 https://goo.gl/XRzm2k10/08 20:10
我現在user有一個pipfile
getting-started一個
python36也一個 到底是@@?

※ 編輯: jp956956 (180.217.240.150), 10/08/2018 20:13:28
gmccntzx1: notepad 是可以沒錯,但請你確定存檔後檔案的 encoding10/08 20:12
gmccntzx1: 是 utf-810/08 20:12
gmccntzx1: 要修改的是 getting-started 的,因為你現在是在跑10/08 20:14
gmccntzx1: heroku 的教學。10/08 20:14
gmccntzx1: 所以你先確認現在 getting-started\Pipfile 的內容是不10/08 20:15
gmccntzx1: 是長這樣: https://git.io/fxGwn10/08 20:15
gmccntzx1: 不是的話請重新 clone 一次 getting-started ,再跑10/08 20:16
gmccntzx1: `pipenv --three`10/08 20:16
gmccntzx1: (有空去理解一下 pipenv 各個指令的功用 和 pipfile 的10/08 20:17
gmccntzx1: 用途)10/08 20:17
gmccntzx1: 教學的各個步驟也要理解清楚,不要傻傻的看寫什麼就做10/08 20:18
gmccntzx1: 什麼。不然你完全不會進步,然後做錯一步也不知道該怎10/08 20:19
gmccntzx1: 麼處理。10/08 20:19
gmccntzx1: 現在開始,你跟著教學跑時,最基本要做到的是了解每個10/08 20:20
gmccntzx1: 教學中出現的指令的用途是什麼,這部份請善用 google。10/08 20:21
gmccntzx1: 補充:你還可以在各種執行指令後面加上 `-h` 去查該指10/08 20:24
gmccntzx1: 令的用途。 e.g. `heroku -h`、`pipenv -h`10/08 20:24
好 我有空再去多了解
是因為很想做一個網路資料庫讓大家使用
不然一直用line很不方便 也難找
我也大概知道那一些指令是做甚麼的
只是他要在哪裡執行加不是很了解
畢竟沒碰過這些
之前買書學也都是設計而已

我創了一個WEBMAKER資料夾
然後把python-getting-started放裡面
跑完流程就沒有出現一堆pipfile了
只有getting-started資料夾裡面的一個而已
不過後來跑到
https://imgur.com/9x6UKF1
我執行pipenv install requests
缺又發生無法呼叫module的狀況...
https://imgur.com/zmSFZfL
路徑跟pipenv應該都是沒錯了才對
檔案內容修改也都用visual studio修改
不知道為什麼會無法呼叫
※ 編輯: jp956956 (111.255.179.210), 10/08/2018 21:09:19
gmccntzx1: 目前 TypeError: 'module' object is not callable 這 10/08 21:32
gmccntzx1: 個問題,就是昨天提到 pipenv 用到 pip 18.1 的問題。 10/08 21:32
gmccntzx1: 請參考這個解法: https://git.io/fxs2d 10/08 21:35
gmccntzx1: 就是先把 pip 降到 18.0 後再試試看。 10/08 21:36
jp956956: 我用18.0還是一樣 沒辦法 10/08 21:43
gmccntzx1: 同樣的錯誤嗎? 10/08 21:57
jp956956: 對啊 不知道為什麼 10/08 21:59
gmccntzx1: 僅以目前的資訊來說,我也無法判斷原因。 或許你可以 10/08 22:06
gmccntzx1: 試著改用 virtualenv 跑看看。 10/08 22:07
gmccntzx1: 也就是說,在 getting_started 資料夾底下用virtualenv 10/08 22:08
gmccntzx1: 建立一個虛擬環境(麻煩先自己 google 一下怎麼用),然 10/08 22:09
gmccntzx1: 後啟動虛擬環境,在虛擬環境內用 pip 安裝這個步驟中 10/08 22:10
gmccntzx1: (https://goo.gl/XRzm2k) Pipfile 裡 [packages] 列出 10/08 22:10
gmccntzx1: 的所有 package 。 10/08 22:11
gmccntzx1: 記得用 virtualenv 時, Python 的版本用 3.6。 10/08 22:12
gmccntzx1: 上述步驟如果都完成後,再繼續跟著 heroku 教學的 10/08 22:14
gmccntzx1: # Push local changes 這步驟繼續做。 10/08 22:14
gmccntzx1: 然後記得,因為現在改用 virtualenv 了,所以在教學裡 10/08 22:15
gmccntzx1: 看到任何使用 pipenv 的指令,都要改為用 virtualenv 10/08 22:15
gmccntzx1: 或 pip 去執行。 10/08 22:16
gmccntzx1: 以 `$ pipenv install requests` 這個指令來說,要改為 10/08 22:16
gmccntzx1: `pip install requests` 才行。 10/08 22:16

終於把問題解決了
原來是裝了一堆PIP
重新安裝18.0就ok了
整個流程都跑完了
不過為什麼到我的網站
跑出來都是這個畫面
https://imgur.com/jesCR6l
這個是官方的畫面 不是我自己做的網頁

他做好的資料夾是這樣的
https://imgur.com/uRKvjEw
要怎麼設定讓他去跑我自己的網頁
如果全部拉過去覆蓋
會不會又跑掉連不上去?

※ 編輯: jp956956 (180.217.240.150), 10/09/2018 09:46:18
gmccntzx1: 恭喜解決啦!接下來的部份建議你去看 heroku 的文件或 10/09 10:23
gmccntzx1: 網路上其他人的教學,去了解一下怎麼用 heroku 架設, 10/09 10:24
gmccntzx1: 不建議你直接將自己的網頁蓋過去。 10/09 10:24
gmccntzx1: 雖然說你可以從 getting-started/hello/templates 裡面 10/09 10:25
gmccntzx1: 看到 3 個 html 檔,自行去更改內容是會有成果沒錯,但 10/09 10:26
gmccntzx1: 要做到比較複雜的東西時,僅僅去改 html 是完全不夠的 10/09 10:28

你可能也想看看

搜尋相關網站