2026年1月10日 星期六
Fix vs code MCP configuration error of WSL - npx command not found
For vscode/vscode-insiders copilot chat MCP configuration
https://github.com/microsoft/vscode/issues/255220
## Solution I
### Install Node.js on Windows
- vs code created a mcp.json in default location:
```
C:/Users/spencer/AppData/Roaming/Code/User/mcp.json
```
## Solution II
### Create a new mcp.json in your workspace
- {path\_to\_project}/.vscode/mcp.json
## Solution III
### Edit the default mcp.json in User space
- path:
``` bash
vim ~/.vscode-server-insiders/data/User/mcp.json
vim ~/.vscode-server/data/User/mcp.json
```
``` json
{
"servers": {
"context7": {
"type": "stdio",
"command": "npx",
"args": [
"@upstash/context7-mcp@latest"
]
},
"Github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "${input:Authorization}"
}
}
},
"inputs": [
{
"id": "Authorization",
"type": "promptString",
"description": "Authentication token (PAT or App token)",
"password": true
}
]
}
```
2025年7月20日 星期日
Install your development environment with WSL in windows 11
### Read it before install WSL
- Install your windows terminal & recommended system Fonts
- https://github.com/doggy8088/best-wsl-ubuntu-setup
- https://github.com/doggy8088/best-wsl-ubuntu-setup/blob/main/README-Ubuntu-24.md
### Install from PowerShell
- List all the distros of WSL
```
wsl --list --online
```
- support distros (2025/07/20)
```
NAME FRIENDLY NAME
AlmaLinux-8 AlmaLinux OS 8
AlmaLinux-9 AlmaLinux OS 9
AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10
AlmaLinux-10 AlmaLinux OS 10
Debian Debian GNU/Linux
FedoraLinux-42 Fedora Linux 42
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
SUSE-Linux-Enterprise-15-SP7 SUSE Linux Enterprise 15 SP7
Ubuntu Ubuntu
Ubuntu-24.04 Ubuntu 24.04 LTS
archlinux Arch Linux
kali-linux Kali Linux Rolling
openSUSE-Tumbleweed openSUSE Tumbleweed
openSUSE-Leap-15.6 openSUSE Leap 15.6
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_10 Oracle Linux 8.10
OracleLinux_9_5 Oracle Linux 9.5
```
- Install ubuntu 24.04
```
wsl.exe --install Ubuntu-24.04
```
- Move the installed WSL to another driver
```
wsl --shutdown
wsl --manage Ubuntu-24.04 --move D:\WSL\
```
- Install docker, NOT docker desktop
- https://blog.miniasp.com/post/2025/06/14/How-to-remove-Docker-Desktop-and-install-Docker-Engine-on-Windows-with-WSL-2
```
# download installation script
# https://docs.docker.com/engine/install/ubuntu/#install-using-the-convenience-script
curl -fsSL https://get.docker.com -o get-docker.sh
# in this step, the system will show a tips to let you install docker desktop.
# Do not press any key, just waitting it to install docker-engine
sudo sh get-docker.sh
# Add your account to docker group
# Manage Docker as a non-root user
# https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user
sudo usermod -aG docker $USER
# check the installed version
docker --version
docker compose version
```
- Install vs code
- install vs code in your Windows environment
- install extension WSL
- install extension RemoteExplorer
- install extension Remote - Tunnels
- install extension Remote - SSH
- install extension Remote - SSH: Editing Configuration Files
- install extension Remote Development
- In your windows terminal open code-insiders
```
code-insiders .
```
- In your windows terminal open vs code stable
```
code .
```
### For aws development
- Install go-lang
```
sudo apt install golang-go -y
```
- Set go environment path
- https://go.dev/wiki/SettingGOPATH
```
export GOPATH=$HOME/go
export GOBIN=$HOME/go/bin
export PATH=$GOBIN:$PATH
```
- Install assume-role
- https://github.com/remind101/assume-role
```
go install github.com/remind101/assume-role@latest
```
- for bash
```
function assume-role { eval $( $(which assume-role) $@); }
```
- for zsh
```
alias assume-role='function(){eval $(command assume-role $@);}'
```
- ~/.inputrc
```
# command search history with UP/DOWN key
"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on
```
- reference:
- https://askubuntu.com/questions/59846/bash-history-search-partial-up-arrow
- https://superuser.com/questions/748809/bash-smart-autocomplete-based-on-history?newreg=ffc622759be74af0bef8bcf31ce8f28d
### WSL network blocked by VPN
- https://github.com/sakai135/wsl-vpnkit
2025年6月15日 星期日
Setting Up Your Environment for Vibetest-Use
This guide will walk you through the process of setting up your environment to use `vibetest-use`, a tool that appears to be designed for website testing using AI agents. We'll cover everything from cloning the repository to configuring the necessary components.
### Step 1: Get the Code
First, you need to get the source code. You can do this by cloning the repository directly, or by forking it to your own GitHub account and then cloning your fork.
- **Clone the repository:**
``` bash
git clone git@github.com:browser-use/vibetest-use.git
```
- **Or, fork the project** on GitHub and then clone your forked repository.
### Step 2: Python Environment Setup
`vibetest-use` requires Python 3.12 or newer. Here's how to set it up on a Debian-based Linux distribution:
1. **Add the `deadsnakes` PPA to your system's software sources:**
``` bash
sudo add-apt-repository ppa:deadsnakes/ppa
```
2. **Update your package list and install Python 3.12:**
``` bash
sudo apt update
sudo apt install python3.12 python3.12-venv -y
```
3. **Create and activate a virtual environment:**
``` bash
mkdir venv
python3.12 -m venv venv
source venv/bin/activate
```
### Step 3: Install Vibetest-Use
With your virtual environment activated, you can now install `vibetest-use` and its dependencies.
1. **Upgrade pip:**
``` bash
pip install --upgrade pip
```
2. **Install `uv` (a fast Python package installer):**
``` bash
pip install uv
```
3. **Install `vibetest-use` in editable mode:**
``` bash
uv pip install -e .
```
### Step 4: Setup the MCP Server in Roo Code
A key part of the setup is configuring the Model Context Protocol (MCP) server. MCP allows AI models to access external tools and data, extending their capabilities. This video provides a detailed tutorial on how to set up an MCP server in Roo Code:
You'll need to configure the MCP server in your Roo Code settings. Make sure to check the command path carefully. If your virtual environment is in a folder named `venv`, the path in the configuration should reflect that.
``` json
{
"mcpServers": {
"vibetest": {
"command": "/full/path/to/vibetest-use/venv/bin/vibetest-mcp",
"env": {
"GOOGLE_API_KEY": "your_api_key"
}
}
}
}
```
### What is MCP?
For a deeper dive into what MCP is and how it works, you can refer to this article: [post/3k2Nrx](https://codelove.tw/@tony/post/3k2Nrx)
### Running the MCP Server
The following is a sequence of commands that might be run during the process of setting up and running the `vibetest-mcp` server. This gives you an idea of the workflow:
``` bash
(venv) ➜ vibetest-use python -m vibetest.mcp_server
(venv) ➜ vibetest-use git:(main) pip install .
(venv) ➜ vibetest-use git:(main) python -m vibetest.mcp_server
(venv) ➜ vibetest-use git:(main) vibetest-mcp
(venv) ➜ vibetest-use git:(main) playwright install
(venv) ➜ vibetest-use git:(main) playwright install-deps
(venv) ➜ vibetest-use git:(main) sudo apt-get install libnss3 libnspr4
(venv) ➜ vibetest-use git:(main) vibetest-mcp
```
### Example Prompt
Once everything is set up, you can start using `vibetest-use` with prompts like this:
### Reference
- VibeTest
- https://github.com/browser-use/vibetest-use
- Configuring MCP Servers in RooCode
- https://docs.roocode.com/features/mcp/using-mcp-in-roo/
- https://youtu.be/QDy3dm1xJ6Y
- MCP
- https://www.anthropic.com/news/model-context-protocol
- https://modelcontextprotocol.io/introduction
- https://codelove.tw/@tony/post/3k2Nrx
- https://ikala.ai/zh-tw/blog/ikala-ai-insight/what-is-model-context-protocol-mcp/
- https://github.com/modelcontextprotocol/servers/tree/main
2020年9月30日 星期三
Install & Setup SoftEther VPN Server on ubuntu LTS 20.04
markdown
# SoftEther VPN
## Installation
### install on ubuntu
- install openssl(1.1.1g)
```
~$ wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
~$ tar xzvf openssl-1.1.1g.tar.gz
~$ cd openssl-1.1.1g
~$ ./config
~$ make
~$ sudo make install
~$ sudo ldconfig
~$ openssl version -a
```
- install build essential(gcc)
```
~$ sudo apt-get update
~$ sudo apt-get install build-essential
```
- download & install softether vpn server(v4.35)
```
~$ wget https://www.softether-download.com/files/softether/v4.34-9745-rtm-2020.04.05-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz
~$ tar xzf softether-vpnserver-v4.35********.tar.gz
~$ cd vpnserver
~$ make
```
```
~$ cd ..
~$ mv vpnserver /usr/local/
~$ cd /usr/local/vpnserver/
~$ chmod 600 *
~$ chmod 700 vpnserver
~$ chmod 700 vpncmd
```
### install vpnserver as a service
- create a service file as following
```
[Unit]
Description=SoftEther VPN Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
ExecStartPost=/bin/sleep 0.1
Restart=always
RestartSec=30
KillSignal=SIGQUIT
StandardError=journal
NotifyAccess=all
KillMode=mixed
[Install]
WantedBy=multi-user.target
```
- move to /etc/systemd/system/vpnserver.service
- Enable the service so that it starts automatically when the system boots.
```
~$ sudo systemctl daemon-reload
~$ sudo systemctl enable vpnserver
~$ sudo reboot
```
## Configure SoftEther VPN Server
### **SoftEther VPN Server configure concept**
- Two level admin privilege
- Entire VPN Server admin
- Create VPN Server password
- **ServerPasswordSet**
- view server info
- **ServerInfoGet**
- create virtual hub
- **HubCreate ${hub_name} [/PASSWORD:${password}]**
- Virtual HUB admin
- configure hub password
- **SetHubPassword**
- list existing user & create VPN user account/password
- **UserList**
- **UserCreate ${account}**
- **UserPasswordSet ${account}**
- enable IPSec **(L2TP VPN required)**
- **Server admin privilege is required**
- **IPSecEnable**
- enable DHCP **(L2TP VPN required)**
- **DHCPEnable**
- enable secure NAT **(L2TP VPN required)**
- **SecureNatEnable**
- view connected client info
- **IPTable**
- get session info
- **SessionGet**
### configure with cli
```
~$ sudo /usr/local/vpnserver/vpncmd
```
- configure step 1
- **select 1**
```
vpncmd command - SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.34 Build 9745 (English)
Compiled 2020/04/05 23:39:56 by buildsan at crosswin
Copyright (c) SoftEther VPN Project. All Rights Reserved.
By using vpncmd program, the following can be achieved.
1. Management of VPN Server or VPN Bridge
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)
Select 1, 2 or 3:
```
- configure step 2
- press **Enter** - Don't need to key-in anything.
```
Specify the host name or IP address of the computer that the destination VPN Server or VPN Bridge is operating on.
By specifying according to the format 'host name:port number', you can also specify the port number.
(When the port number is unspecified, 443 is used.)
If nothing is input and the Enter key is pressed, the connection will be made to the port number 8888 of localhost (this computer).
Hostname of IP Address of Destination:
```
- configure step 3
- **Entering server admin**
- press **Enter** - Don't need to key-in anything.
- **Entering virtual HUB admin**
- key-in the HUB name, and press Enter
```
Connection has been established with VPN Server "localhost" (port 443).
You have administrator privileges for the entire VPN Server.
VPN Server>
```
```
If connecting to the server by Virtual Hub Admin Mode, please input the Virtual Hub name.
If connecting by server admin mode, please press Enter without inputting anything.
Specify Virtual Hub Name:
```
- configure step 4
- In server manage mode, your can enter the Virtual HUB with following command
- HUB ${hub_name}
```
VPN Server>hub vpn
Hub command - Select Virtual Hub to Manage
The Virtual Hub "VPN" has been selected.
The command completed successfully.
VPN Server/VPN>
```
## references:
- [SoftEther VPN 架設記錄](https://noter.tw/4524/softether-vpn-%E6%9E%B6%E8%A8%AD%E8%A8%98%E9%8C%84/)
- [CLI document](https://www.softether.org/4-docs/1-manual/6._Command_Line_Management_Utility_Manual)
2020年4月3日 星期五
Customize your own Django authentication decouple with the models.py
For many systems, authentication mechanisms may already exist, especially for systems that are authenticated by an OAuth server.
In this article, I want to customize Django authentication without creating any user model...
In this article, I want to customize Django authentication without creating any user model...
2018年9月16日 星期日
[Android] Stored your customized data object in Spinner with Kotlin
If you want to make the list of your customized data objects be stored in Spinner.
Try this...
Step:
- 1. write your own data class
- 2. override the toString() method of your data class
- 3. add it to mutable list
- 4. write on onItemSelected listener
- 5. get selected item, and retrieval the object of your data class
2018年7月14日 星期六
Django 2.0.7 deploy to Heroku
I create a Django 2.0.7 app to deploy to Heroku.
https://devcenter.heroku.com/articles/django-app-configuration
settings.py
https://devcenter.heroku.com/articles/django-app-configuration
settings.py
import django_heroku .... .... # Activate Django-Heroku django_heroku.settings(locals())
And when I run it with debug mode in local web app, it's running well.
But it always shows error when I deploy it to Heroku.
"relation "auth_user" does not exist"
2017年6月1日 星期四
install w3af in kali linux (rolling)
for Kali Linux latest version 20170601
Kali Linux has been installed some packages for fill the requirements of w3af.
sudo apt install -y python-pybloomfiltermmap
Kali Linux has been installed some packages for fill the requirements of w3af.
- openssl ==> 16.2.0
- lxml ==> 3.7.1
sudo apt install -y python-pybloomfiltermmap
- pybloomfiltermmap ==> 0.3.15
install openvas9 in kali linux (rolling)
最近需要利用open source software做網站主機的滲透測試,
一開始是自行安裝ubuntu 16.04 LTS,然後安裝openvas和w3af,
然後針對已經開發中的web site測試,後來又找了一些其它的工具,
最後就找到了 Kali Linux (一個以Debian Linux為基礎開發的滲透測試系統)
原本Kali linux上是已經安裝了OpenVAS和w3af...等工具,但我安裝的是最新版的kali linux(rolling),也就是以後kali linux不會有版本的概念,會不斷的更新。
OpenVAS由於佔用空間太大,預設情況下不會安裝,而w3af則是因為相關的package只支援python2,所以被移除了,等w3af完全支援python3才會再被重新加入Kali Linux
官方也建議每次使用時都取得最新的版本,透過apt update和apt dist-upgrade
一開始是自行安裝ubuntu 16.04 LTS,然後安裝openvas和w3af,
然後針對已經開發中的web site測試,後來又找了一些其它的工具,
最後就找到了 Kali Linux (一個以Debian Linux為基礎開發的滲透測試系統)
原本Kali linux上是已經安裝了OpenVAS和w3af...等工具,但我安裝的是最新版的kali linux(rolling),也就是以後kali linux不會有版本的概念,會不斷的更新。
OpenVAS由於佔用空間太大,預設情況下不會安裝,而w3af則是因為相關的package只支援python2,所以被移除了,等w3af完全支援python3才會再被重新加入Kali Linux
官方也建議每次使用時都取得最新的版本,透過apt update和apt dist-upgrade
2016年5月28日 星期六
刪除終端機存取中斷的python debug web server
適用情況:
遠端登入建立virtual environment,並啟動web server後,終端機斷線
在這種狀況下,web server還是在running state,所以port被佔住,無法debug
解決方法:
pkill -f "python manage.py runserver"
遠端登入建立virtual environment,並啟動web server後,終端機斷線
在這種狀況下,web server還是在running state,所以port被佔住,無法debug
解決方法:
pkill -f "python manage.py runserver"
2016年5月21日 星期六
RESTful services for windows iot core
要在Visual Studio 2015上開發Respberry Pi 2 App有一個很重要的必要條件
就是OS必需要是Windows 10
先從RESTful service講起,
目前的windows iot core最新版本是10.0.10586
App的版本和windows iot core的版本要配合,如果要安裝新版的app,
記得要更新windows iot core版本至最新的版本
一直到目前為止,也還沒有釋出官方的RESTful service,
只有在一些文件中,有提到未來會在WCF中加入
然而,目前還沒有,所以找了一個github上的專案來替代,叫restup
就是OS必需要是Windows 10
先從RESTful service講起,
目前的windows iot core最新版本是10.0.10586
App的版本和windows iot core的版本要配合,如果要安裝新版的app,
記得要更新windows iot core版本至最新的版本
一直到目前為止,也還沒有釋出官方的RESTful service,
只有在一些文件中,有提到未來會在WCF中加入
然而,目前還沒有,所以找了一個github上的專案來替代,叫restup
Headless app with Windows Universal App
在windows iot core中,app可部署為背景執行的Headless與前景執行的Headed 兩種模式
在這次的專案中,我需要的是背景執行的web services
於是開始了一段○○××的找文件之旅
因為在官方文件中,並沒有看到要如何設定一個Headless類型的專案類型
完整的專案建置過程如下:
在這次的專案中,我需要的是背景執行的web services
於是開始了一段○○××的找文件之旅
因為在官方文件中,並沒有看到要如何設定一個Headless類型的專案類型
完整的專案建置過程如下:
2016年2月14日 星期日
Raspberry pi 2 安裝 windows 10 IoT Core
試試新玩具....Raspberry pi 2

首先安裝windows 10 IoT Core來測試,安裝步驟如下:
I、下載 windows 10 IoT Core image檔案,下載連結
II、解開iso檔,會有一個msi安裝檔 (Windows_10_IoT_Core_RPi2)
III、安裝msi檔,安裝後為一個燒錄工具:Windows IoT Core Image Helper
IV、放入SD card,利用此工具將image檔燒錄至SD card
首先安裝windows 10 IoT Core來測試,安裝步驟如下:
I、下載 windows 10 IoT Core image檔案,下載連結
II、解開iso檔,會有一個msi安裝檔 (Windows_10_IoT_Core_RPi2)
III、安裝msi檔,安裝後為一個燒錄工具:Windows IoT Core Image Helper
IV、放入SD card,利用此工具將image檔燒錄至SD card
2016年2月11日 星期四
Django REST framework
最近想開發RESTful service, 想說看看Python的solution,就找到了Django REST fraemwork…
Authentication type:
- Basic authentication
- Token authentication
- JWT authentication
- OAuth2 authentication
- Session authentication
json web token authentication
一種較Oauth輕量化的方式,利用json的格式,儲存token,
使用者登入後,利用帳號、密碼,取得一個全新的token,預設在5分鐘後即會過期,
過期後,可利用已過期的token,取得新的token,
如此便解決不用重複傳送username與password的風險,且token會一直更新。
django-oauth-toolkit
使用此方法,需注意跨站台偽造攻擊的CSRF token處理,
詳見:AJAX X-CSRFToken
2016年1月24日 星期日
CentOS 7.2 安裝Python 3.4 + Django 1.9
安裝完成PostgreSQL後,接下來的重點,
就是要安裝Python 3.4 + Django + Django REST framework…
就是要安裝Python 3.4 + Django + Django REST framework…
●安裝Python 3.4
sudo yum install Python34
sudo加在yum命令前,是用來讓安裝這個套件的動作,
取得super user的安裝套件權限,這樣一來就不用切換到root帳戶,可降低系統風險
sudo yum install Python34
sudo加在yum命令前,是用來讓安裝這個套件的動作,
取得super user的安裝套件權限,這樣一來就不用切換到root帳戶,可降低系統風險
2016年1月23日 星期六
CentOS 7.2 安裝 PostgreSQL 9.4
最近在使用CentOS 7.2 build 1511, 之後會用到django rest framework + postgreSQL
於是今天就嘗試安裝相關的環境,這篇就只記錄安裝 postgreSQL 9.4的部份…
於是今天就嘗試安裝相關的環境,這篇就只記錄安裝 postgreSQL 9.4的部份…
首先,使用yum 安裝 postgreSQL 套件
postgreSQL 目前支援的linux作業系統與版本可以到官網上查詢,提供查詢網址如下:
http://yum.postgresql.org/repopackages.php
裡面有不同版本對應作業系統的Repository
postgreSQL 目前支援的linux作業系統與版本可以到官網上查詢,提供查詢網址如下:
http://yum.postgresql.org/repopackages.php
裡面有不同版本對應作業系統的Repository
2015年11月26日 星期四
[RWD] Google maps
RWD with Google maps…
reference:
http://webomnizz.com/how-to-make-responsive-google-map-with-google-map-api/
方法一:css
HTML內容:
reference:
http://webomnizz.com/how-to-make-responsive-google-map-with-google-map-api/
方法一:css
HTML內容:
<div class="map-canvas" id="map-canvas">
<iframe frameborder="0" height="350" marginheight="0" marginwidth="0" scrolling="no" src="https://www.google.com.tw/maps/@24.7655142,121.0162967,15z?hl=zh-TW" width="425"></iframe>
</div>
2015年11月23日 星期一
Python學習筆記(四) - Advanced Django models management
Django裡,model的資料操作與查詢,可進階寫成Manager,整個詳細過程記錄如下…
一、定義Manager class:
一、定義Manager class:
class TempleManager(models.Manager):
def create_temple(self,name,locateRegion,religiousBelief,masterGod,address,latitude,longitude,phone1,phone2):
temple = self.create(name = name, locateRegion = locateRegion, religiousBelief = religiousBelief, masterGod = masterGod, address = address, latitude = latitude, longitude = longitude, phone1 = phone1, phone2 = phone2)
return temple
def filter_temple(self,name,locateRegion,masterGod,address):
temple = self.filter(name = name, locateRegion = locateRegion, masterGod = masterGod, address = address)
return temple
def filterByMasterGod(self, masterGod):
temple = self.filter(masterGod = masterGod)
return temple
def filterByRegion(self, locateRegion):
temple = self.filter(locateRegion = locateRegion)
return temple
def create_temple(self,name,locateRegion,religiousBelief,masterGod,address,latitude,longitude,phone1,phone2):
temple = self.create(name = name, locateRegion = locateRegion, religiousBelief = religiousBelief, masterGod = masterGod, address = address, latitude = latitude, longitude = longitude, phone1 = phone1, phone2 = phone2)
return temple
def filter_temple(self,name,locateRegion,masterGod,address):
temple = self.filter(name = name, locateRegion = locateRegion, masterGod = masterGod, address = address)
return temple
def filterByMasterGod(self, masterGod):
temple = self.filter(masterGod = masterGod)
return temple
def filterByRegion(self, locateRegion):
temple = self.filter(locateRegion = locateRegion)
return temple
2015年11月13日 星期五
Python學習筆記(三) - 部署到Microsoft Azure
今天上了Microsoft Azure課程後,一直想做一件事,就是把已經寫好的demo site部署到azure上,在多次嘗試後,終於成功。當然必要條件是要先有一個Microsoft Azure的帳戶…
今天再為demo專案加入一個新的功能,就是輸入地址,轉換為經緯度的功能;透過google map api提供的功能,讓我們很輕鬆的完成這個功能。
2015年11月12日 星期四
Python學習筆記(二)....感動的JSON處理
雖然只是測試功能,但對 Python處理JSON字串留下深刻的印象,再度對Django框架有了更濃厚的興趣
建立django虛擬環境(virtualvenv):
ref - https://djangogirlstaipei.gitbooks.io/django-girls-taipei-tutorial/content/django/installation.html
我們可以直接開始安裝 Django,但實務上,大多數人都會搭配使用虛擬環境。使用虛擬環境有許多優點:
建立django虛擬環境(virtualvenv):
ref - https://djangogirlstaipei.gitbooks.io/django-girls-taipei-tutorial/content/django/installation.html
我們可以直接開始安裝 Django,但實務上,大多數人都會搭配使用虛擬環境。使用虛擬環境有許多優點:
- 你的專案會擁有一個專屬的獨立 Python 環境。
- 不需要 root 權限,就可以安裝新套件。
- 方便控管不同版本的套件,不用擔心升級套件會影響到其他專案。
- 如果需要多人協作或在不同機器上跑同一個專案時,使用虛擬環境也可以確保環境一致性。
訂閱:
文章 (Atom)