Ubuntu 服务器安装 Anaconda 和 Jupyter 服务

一、用wget命令下载

下载Anaconda: https://www.anaconda.com/products/individual#Downloads 注:下载缓慢可自行搜索镜像源,这里去清华镜像源下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

# 这个网站里边下载需要的资源包:https://repo.continuum.io/miniconda/
#wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh # mini最新版
#wget -c https://repo.continuum.io/miniconda/Miniconda3-4.7.12.1-Linux-x86_64.sh  # mini指定版
# wget -c  https://repo.continuum.io/archive/Anaconda3-2019.10-Linux-x86_64.sh # 完整版
# wget -c  https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh # 完整版
 wget -c  https://repo.anaconda.com/miniconda/Miniconda3-py312_25.1.1-1-Linux-x86_64.sh # 完整版

file

二、安装命令

添加权限并运行

chmod 777 Miniconda3-py312_25.1.1-1-Linux-x86_64.sh
sh Miniconda3-py312_25.1.1-1-Linux-x86_64.sh

安装过程中,提示阅读用户许可协议,需要按“Enter”继续,并输入 “yes”继续安装,并列出conda安装的具体路径,这个路径保存一下。

安装路径:

Miniconda3 will now be installed into this location:
/home/ubuntu/miniconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/home/ubuntu/miniconda3] >>> 
PREFIX=/home/ubuntu/miniconda3
Unpacking payload ...

Installing base environment...

Downloading and Extracting Packages:

## Package Plan ##

  environment location: /home/ubuntu/miniconda3

关闭终端重新连接,输入 conda -V 可查看anaconda版本,如未出现版本号,需进行环境变量配置;

(base) ubuntu@AwesomeStrategy-Freqtrade:~$ conda -V
conda 25.1.1

二、创建虚拟环境

1、创建虚拟环境

#conda create --name d2l python=3.9 -y
conda create -n trade_env python=3.12  -y

# 激活环境
conda activate trade_env

# 退出环境
conda deactivate

#conda create -n py311 python=3.11 -y
#conda activate py311  

三、安装JupyterLab

# 切换虚拟环境
conda activate trade_env

# 推荐使用 conda-forge 通道,确保获取的是最新且兼容性最好的版本。
conda install -c conda-forge jupyterlab

好的,我们来一步一步配置你的 JupyterLab,使其能 指定数据目录启用 token 登录,并可用于 远程访问(如通过公网/内网 IP)


✅ 1. 生成默认配置文件

首先生成配置文件(如果还没有):

jupyter lab --generate-config

默认会生成文件:

~/.jupyter/jupyter_lab_config.py

✅ 2. 设置默认工作目录(数据存储路径)

假设你希望 JupyterLab 启动后默认进入 /home/ubuntu/app/data/jupyter 目录:

编辑配置文件:

#nano ~/.jupyter/jupyter_lab_config.py
vim ~/.jupyter/jupyter_lab_config.py

找到(或添加)以下一行,取消注释并设置路径:

c.ServerApp.root_dir = '/home/ubuntu/app/data/jupyter'

注意:JupyterLab 3.x 以后用的是 ServerApp,早期版本是 NotebookApp,建议用 ServerApp


✅ 3. 启用 token 登录(默认就是启用)

确认以下内容:

# 自定义token:Freqtrade@888/Freqtrade@666
c.ServerApp.token = 'your_custom_token_here'

如果你希望每次随机生成,可以设置为:

c.ServerApp.token = ''

✅ 4. 开放远程访问(默认只监听 localhost)

你需要让 Jupyter 可以通过其他 IP 访问:

c.ServerApp.ip = '0.0.0.0'  # 或你的具体内网 IP,比如 '192.168.1.100'
c.ServerApp.port = 8888     # 默认端口,也可以改为其它
c.ServerApp.open_browser = False
c.ServerApp.allow_remote_access = True  # 允许远程访问

✅ 6. 启动 JupyterLab

激活环境后启动:

#jupyter lab
nohup jupyter lab --config=~/.jupyter/jupyter_lab_config.py > jupyterlab.log 2>&1 &

# 查看进程

如果你配置了 c.ServerApp.ip = '0.0.0.0',你可以通过远程浏览器访问:

http://192.168.50.22:8888/lab

file

如果访问不了,可检查防火墙设置:
在服务器上运行:

sudo ufw status

如果防火墙开启,确保允许8888端口:

sudo ufw allow 8888

安装 TaLib库

使用 conda 安装 ta-lib库:

conda install -c conda-forge ta-lib

测试

import pandas as pd
import numpy as np
import talib  # 用于计算技术指标

# 创建示例数据(基于您提供的head())
data = {
    'date': [
        '2021-11-09 23:25:00+00:00',
        '2021-11-09 23:30:00+00:00',
        '2021-11-09 23:35:00+00:00',
        '2021-11-09 23:40:00+00:00',
        '2021-11-09 23:45:00+00:00',
        '2021-11-09 23:50:00+00:00',
        '2021-11-09 23:55:00+00:00',
        '2021-11-10 00:00:00+00:00'
    ],
    'open': [67279.67, 67300.97, 67187.02, 67123.80, 67160.48, 66943.37, 67000.00, 67100.50],
    'high': [67321.84, 67301.34, 67187.02, 67222.40, 67160.48, 67020.00, 67150.00, 67200.00],
    'low': [67255.01, 67183.03, 67031.93, 67080.33, 66901.26, 66850.00, 66980.00, 67050.00],
    'close': [67300.97, 67187.01, 67123.81, 67160.48, 66943.37, 67000.00, 67100.00, 67150.00],
    'volume': [44.62253, 61.38076, 113.42728, 78.96008, 111.39292, 90.50000, 85.20000, 95.30000]
}

df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])

# 计算RSI指标(这里使用talib,需要安装)
close_prices = df['close'].values
df['rsi'] = talib.RSI(close_prices, timeperiod=14)  # 14周期RSI

# 初始化交易信号列
df['enter_long'] = 0

# 根据RSI条件设置交易信号
df.loc[
    (df['rsi'] > 30),  # RSI大于30的条件
    'enter_long'  # 要设置的列
] = 1  # 设置值为1表示买入信号

# 显示结果
print(df[['date', 'close', 'rsi', 'enter_long']])

# 可选:可视化
import matplotlib.pyplot as plt

plt.figure(figsize=(12, 6))
plt.plot(df['date'], df['close'], label='Close Price')
plt.scatter(df[df['enter_long'] == 1]['date'], 
            df[df['enter_long'] == 1]['close'], 
            color='green', label='Buy Signal', marker='^')
plt.title('Trading Signals based on RSI')
plt.legend()
plt.grid()
plt.show()

参考文章:
Linux系统下conda的安装与使用
YOLOv12 环境配置

为者常成,行者常至