如何在Synology NAS上设置 Python 虚拟环境?

在 PC 上,使用SSH以root权限登录 NAS 。

用PUTTY等工具链接NAS

输入以下命令以检查 NAS 上安装了哪些 Python 套件版本:

sudo -i
compgen -c python

输入python3或python3.9以选择 Python 版本。强烈建议使用这些版本,因为它们受 venv 支持,不会影响系统操作。

创建 Python 虚拟环境

选择要在其中创建虚拟环境的存储空间。例如:

cd / volume1

在您的文件夹中创建 Python 虚拟环境。如果要使用 Python3.9 软件包,请将python3替换为python3.9 。您可以将dateutil_env替换为要用于文件夹的名称:

python3 -m venv dateutil_env
cd dateutil_env /
source bin/activate

点击数:119

用Python完成PDF批量打印

要编写一个用Python开发的PDF批量打印脚本,你可以按照以下步骤进行:

  1. 安装必要的库:首先,确保你已经安装了Python,并且安装了适用于PDF处理的第三方库,如PyPDF2pdf2image。你可以使用pip命令来安装它们。
  2. 导入所需的库:在脚本的开头,导入需要使用的库。
本文隐藏内容 登陆 后才可以浏览

点击数:107

frp在设置在centos中自动启动

这个方法用在centos7生效

创建一个新的Systemd服务单元文件:

sudo nano /etc/systemd/system/frp.service

在打开的文件中,添加以下内容(请根据您的.sh文件和配置进行修改):

[Unit]
Description=My Script
   #My Script这个地方可以设置为你的脚本
After=network.target

[Service]
ExecStart=/path/to/your/script.sh
   #该地址设置你的自启动命令或者脚本命令都可以

[Install]
WantedBy=default.target

另外,创建FRP文档启动脚本

#!/bin/bash
pgrep frps &> /dev/null #pgrep是读取进程名为输入内容的进程号,返回到下面,&>输入到空文件
if [ $? -gt 0 ]; #$?代表上面的返回值(进程ID,当且仅当存在这个进程时才会高于0) -gt是大于号
then
echo "`date` restart" >> /etc/frplogstart.txt 2>&1 #`date`是当前时间,>>输出到log文件中作为新的一行,log文件也可以与脚本放在同一个目录下
/etc/frps -c /etc/frps.ini>/mnt/frp/log-frps.txt 2>&1 &  #进程启动命令
该指令是FRPS启动指令(注意要确保运行路径)
/etc/frpc -c /etc/frpc.ini>/mnt/frp/log-frpc.txt 2>&1 &  #进程启动命令
这个是客户端FRPC启动指令(注意要确保运行路径)
#调试阶段此处可以加入返回running状态的内容,去掉井号即可
#else
#echo "`date` restart"
fi

  1. 保存并关闭文件。
  2. ctrl+X
  3. 重新加载Systemd配置:
  4. sudo systemctl daemon-reload
  5. 启用服务,使其在系统启动时自动运行:
  6. sudo systemctl enable my-script.service
  7. sudo systemctl start my-script.service

点击数:164

Centos7中搭建WebDav的服务

百度百科的定义:WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
顾名思义,WebDAV主要就是用来做文档的存储的。

项目在Github上的地址:https://github.com/hacdias/webdav
服务器操作系统:Centos7

cd /usr/local/webdav
wget https://github.com/hacdias/webdav/releases/download/v4.0.0/linux-amd64-webdav.tar.gz
tar -xvzf linux-amd64-webdav.tar.gz
rm -rf linux-amd64-webdav.tar.gz

在webdav同级目录下增加config.yaml

mkdir -p /data/webdav
cat << EOF > /usr/local/webdav/config.yaml
# Server related settings
address: 0.0.0.0
port: 51000
auth: true
tls: false
cert: cert.pem
key: key.pem

# Default user settings (will be merged)
scope: .
modify: true
rules: []

users:
  - username: admin
    password: admin
    scope: /data/webdav
EOF

增加systemd服务

cat << EOF > /usr/lib/systemd/system/webdav.service
[Unit]
Description=WebDAV server
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/webdav/webdav --config /usr/local/webdav/config.yaml
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable webdav
systemctl start webdav

查看服务状态

systemctl status webdav
● webdav.service - WebDAV server
   Loaded: loaded (/usr/lib/systemd/system/webdav.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-04-29 17:34:08 CST; 20h ago
 Main PID: 10032 (webdav)
   CGroup: /system.slice/webdav.service
           └─10032 /usr/local/webdav/webdav --config /usr/local/webdav/config.yaml

如果要网址访问,用nginx反向代理即可。

研究过这种,方式,安全性还是不太可靠,建议上证书用TLS访问,或用FRP穿透加密访问

点击数:89