今の最新版はバージョン3.12.5だから、
StoreからPython 3.12をインストール。
開くと
ターミナルから起動すると
この画面は、簡易表示です
今の最新版はバージョン3.12.5だから、
StoreからPython 3.12をインストール。
開くと
ターミナルから起動すると
1.VisualStudioCodeをインストールする。
https:/
ダウンロードして、インスト。
日本語化する。
2.適当な場所にフォルダを作り、Pythonのソースを入れておく。
E:\pythonProject │- sample.py │- pytest.ini └─tests └─ test_sample.py
def func1(para) :
print("func1")
return "func1_" + para
def func2(para) :
print("func2")
return "func2_" + para
# pytest用
import os
import sys
sys.path.append(os.getcwd())
import sample
class Test_sample :
def test_sample_func1(self) :
assert sample.func1("aaa") == "func1_aaa"
def test_sample_func2(self) :
assert sample.func2("aaa") == "func2_aaa"
[pytest]
testpaths = ./tests
python_files = test_*.py
python_classes = Test
python_functions = test_
3.ワークスペースに上記のフォルダを追加する。
3.Pythonの環境作り
・Windows StoreからPython3.8をインスト。
※本来Python3.xのインストールはOSやCPUの特性を詳細に調査しgccのConfigure(中身はPython2のソース)を熟読してオプションを探り出してビルドの後のTestモードの結果を見て何度もウンザリするものだが、Windowsはその辺の選択肢が一つしかないから世界中の誰かが成功すればもうその人の設定をコピペするだけでOK(逆算的に容易)であり、今ではベンダーのHPにもインストーラが用意されている。
ところが、
> python
指定されたプログラムは実行できません。
となる、これはPATH環境変数にプログラムのパスが通っていないせい。
コントロールパネル⇒システムとセキュリティ⇒システム
システムの詳細設定の【環境変数(N)…】を押す
システム環境変数(S)のPathを選択し【編集(I)…】を押す
設定内容の最後にコマンドラインで
> where python
の結果
C:\Users\ユーザ名\AppData\Local\Microsoft\WindowsApps\python.exe
のファイル名のフルパスのフォルダ名を入れる
※ C:\Users\ユーザ名\AppData\Local\Microsoft\WindowsApps
・VSCodeのエクスプローラのpythonのソースをクリックしてみると、
その↓の説明通りデバッグビューを経由して設定を進める
※スクショ上書きして消えたけど、確か「Python」 を選択したハズ。
設定が終わったら、緑の▷を押すと実行する。
4.pytestを設定する
> python -m pip install –upgrade pip するとpipがアップグレードされる
ここまで進むとテストビューが出てくる。
出なければpythonソースを右クリックして「全ての単体テストを実行」を選択
ここで、発見できない場合は、画面の左下の「出力」に原因が出る。
大体はテストソースの何かのエラーだ。
あ、vscodeやpipのリポジトリィも一旦消しといた方がいいね。
vscodeの場合は、C:\Users\ユーザ名\.vscode フォルダを消す。
pipの場合は、C:\Users\slani\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.*_************
※ * 部分はインストするマイナーバージョンやランダム文字
ps.
{
"folders": [
{
"path": "."
}
],
"settings": {}
}
{
// IntelliSense を使用して利用可能な属性を学べます。
// 既存の属性の説明をホバーして表示します。
// 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
{
"python.pythonPath": "C:\\Users\\{ユーザ名}\\AppData\\Local\\Microsoft\\WindowsApps\\python3.8.exe",
"python.testing.pytestArgs": [
"tests"
],
"python.testing.unittestEnabled": false,
"python.testing.nosetestsEnabled": false,
"python.testing.pytestEnabled": true
}
では、なぜこんな記事を書いたのかと云うと・・・今朝方、仕事場の開発環境がぶっ飛んだから、予算の都合で非力なマシンになってしまったので試行錯誤するとむやみに時間だけが過ぎ去っていくので家に戻って準備した。
これを見れば、あの非力なマシンでも1時間もあれば余裕のハズ。(涙
ps.
VScodeではソースを修正すると改行コードがCR・LFとLFが混在することがある。この場合、見た目は問題無いソースだけどCRのせいで行が繋がって見えるらしく、イミフなインデントエラーが出ることがある。
def func1() CRLF
"""CRLF
コメントLF
"""LF
※コメントは宣言されていない変数です。等
エディタ右下がCRLF表示になっている時は特に危ない。
{
// エディター設定
"editor.tabSize": 4,
"editor.insertSpaces": true, // Tabキーで半角空白
// ファイル設定
"files.autoSave": "off", //VScodeを閉じている間に他のエディタでソースを開くと変なことになりやすいのでOFF
"files.eol": "\n", // 改行コードをLFにする
}
と強制的にLFしたりTABも空白になる様に仕向けないといけないようだ。
多分、改行コードのせいなのだろう。沢山のpytestのテスト関数を全部実行したらいくつかNGになった。しかし、1つづつ実行するとOK。
こんな時は大方は初期化処理が他のテスト関数と競合していたり依存しているためだ。
そのため、
def Test_xxxxx を def __Test_xxxxx と変えてpytestをやり過ごし、少しづつ戻していって、馬鹿な間違いをしているコードをあぶりだそうとした。
しかし、その結果。全て戻したら、ALL GREENになってしまった。
エディタが何かやらかしたらしい。もし幅0空白とか見えない文字だったら勘弁だ。
結果オーライでいいんだけど、再現したら泣きそうだ。
ここまで気を使わないといけないCompute言語なら・・・
Pythonなんて無くなってしまえ!
と素直に思う。
マネーをケチれば、 等価交換に則り、時間が足りなくなるのは必然である。
Slanirish Warlander