We recommend that you set your API key as an environment variable to avoid explicitly specifying it when you use Alibaba Cloud Model Studio SDK and reduce the risk of an API leak. This topic describes how to set an API key as an environment variable.
Procedure
Linux
Permanent environment variable
To configure your API key as a permanent environment variable for the current user to use in new sessions, set it as a permanent environment variable.
Run the following command to add the environment variable to the
~/.bashrc
file:# Replace YOUR_DASHSCOPE_API_KEY with your API key. echo "export DASHSCOPE_API_KEY='YOUR_DASHSCOPE_API_KEY'" >> ~/.bashrc
You can also edit the
~/.bashrc
file manually.Run the following command to make the change take effect:
source ~/.bashrc
Create a session and run the following command to check whether the environment variable takes effect:
echo $DASHSCOPE_API_KEY
Temporary environment variable
To use your API key as a temporary environment variable only for the current session, set it as a temporary environment variable.
Run the following command:
# Replace YOUR_DASHSCOPE_API_KEY with your API key. export DASHSCOPE_API_KEY="YOUR_DASHSCOPE_API_KEY"
Run the following command to check whether the environment variable takes effect:
echo $DASHSCOPE_API_KEY
macOS
Permanent environment variable
To configure your API key as a permanent environment variable for the current user to use in new sessions, set it as a permanent environment variable.
Run the following command to check the default Shell type.
echo $SHELL
Perform the following operation based on your Shell type.
Zsh
Run the following command to add the environment variable to the
~/.zshrc
file.# Replace YOUR_DASHSCOPE_API_KEY with your API key. echo "export DASHSCOPE_API_KEY='YOUR_DASHSCOPE_API_KEY'" >> ~/.zshrc
You can also edit the
~/.zshrc
file manually.Run the following command to make the change take effect:
source ~/.zshrc
Create a session and run the following command to check whether the environment variable takes effect:
echo $DASHSCOPE_API_KEY
Bash
Run the following command to add the environment variable to the
~/.bash_profile
file.# Replace YOUR_DASHSCOPE_API_KEY with your API key. echo "export DASHSCOPE_API_KEY='YOUR_DASHSCOPE_API_KEY'" >> ~/.bash_profile
You can also edit the
~/.bash_profile
file manually.Run the following command to make the change take effect:
source ~/.bash_profile
Create a session and run the following command to check whether the environment variable takes effect:
echo $DASHSCOPE_API_KEY
Temporary environment variable
To use your API key as a temporary environment variable only for the current session, set it as a temporary environment variable.
Run the following command:
# Replace YOUR_DASHSCOPE_API_KEY with your API key. export DASHSCOPE_API_KEY="YOUR_DASHSCOPE_API_KEY"
Run the following command to check whether the environment variable takes effect:
echo $DASHSCOPE_API_KEY
Windows
In Windows, you can set environment variable through System Properties, Command Line or PowerShell.
System Properties
The environment variable configured in this way is permanently effective.
Modifying system environment variable requires administrative permissions.
After configuring environment variable, it will not immediately affect already open command windows, IDEs, or other running applications. You will need to restart these programs or open a new command line for the environment variables to take effect.
Press
Win+Q
on your desktop. Enter "Edit the system environment variables" in the search box, and click to open the System Properties window.In the System Properties window, click Environment Variables. In the System Variables window, click New, enter
DASHSCOPE_API_KEY
as the variable name, andyour actual API Key
as the variable value.Click OK on all three dialog boxes.
Open a command terminal and run the following command to check whether the environment variable takes effect:
echo %DASHSCOPE_API_KEY%
Command Line
Permanent environment variable
To configure your API key as a permanent environment variable for the current user to use in new sessions, set it as a permanent environment variable.
Run the following command:
# Replace YOUR_DASHSCOPE_API_KEY with your API key. setx DASHSCOPE_API_KEY "YOUR_DASHSCOPE_API_KEY"
Create a new session.
Run the following command to check whether the environment variable takes effect:
echo %DASHSCOPE_API_KEY%
Temporary environment variable
To use your API key as a temporary environment variable only for the current session, set it as a temporary environment variable.
Run the following command:
# Replace YOUR_DASHSCOPE_API_KEY with your API key. set DASHSCOPE_API_KEY="YOUR_DASHSCOPE_API_KEY"
Run the following command in the current session to check whether the environment variable takes effect:
echo %DASHSCOPE_API_KEY%
PowerShell
Permanent environment variable
To configure your API key as a permanent environment variable for the current user to use in new sessions, set it as a permanent environment variable.
Run the following command:
# Replace YOUR_DASHSCOPE_API_KEY with your API key. [Environment]::SetEnvironmentVariable("DASHSCOPE_API_KEY", "YOUR_DASHSCOPE_API_KEY", [EnvironmentVariableTarget]::User)
Create a session.
Run the following command to check whether the environment variable takes effect:
echo $env:DASHSCOPE_API_KEY
Temporary environment variable
To use your API key as a temporary environment variable only for the current session, set it as a temporary environment variable.
Run the following command:
# Replace YOUR_DASHSCOPE_API_KEY with your API key. $env:DASHSCOPE_API_KEY = "YOUR_DASHSCOPE_API_KEY"
Run the following command in the current session to check whether the environment variable takes effect:
echo $env:DASHSCOPE_API_KEY
FAQ
Q: I have run the echo command to confirm the environment variable. But when I run my code, it still says no API key found or invalid API key?
A: The reason may be:
Scenario 1: The environment variable you set is not permanent. Temporary environment variables are only valid for the current terminal session and will not take effect in already opened IDEs or other applications. Please refer to the methods in this topic for setting permanent environment variables.
Scenario 2: You have not restart your IDE, command-line tool or application.
Usually you need to restart the IDE (such as VS Code) or command-line tools to load the latest environment variables.
If the environment variable is set after you deploy your application, you may need to restart the application service for it to reload the environment variable.
Scenario 3: You need to add the environment variable to the configuration file. If your application is started through a service manager (such as systemd or supervisord), you may need to add the environment variable to the configuration file of the service manager.
Scenario 4: You used the sudo command. If you run the script using
sudo python xx.py
, you may miss the environment variables of the current user becausesudo
does not inherit all environment variables by default. You can use the commandsudo -E python xx.py
, where the-E
option ensures that environment variables are passed through. If you have permission to execute the script, you can run it directly usingpython xx.py
.Scenario 5: You may need to configure the base URL of Model Studio. Use one of the following methods:
Add the base URL to your code:
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
Set the base URL as an environment variable:
DASHSCOPE_HTTP_BASE_URL='https://dashscope-intl.aliyuncs.com/api/v1'