Rocky Linux9.2采用pyenv虚拟环境安装PySide2及其在Pycharm中的配置

本文详细介绍了如何在RockyLinux9.2上使用pyenv创建Python虚拟环境,然后安装PySide2。接着,文章讲解了在Pycharm中配置PySide2的Designer、UIC和RCC外部工具的方法,以及解决库文件找不到问题的三种策略:更新系统库查找路径、修改环境变量或直接修改脚本文件。

一、PySide2的安装

1.1、创建python虚拟环境

# 采用pyenv创建3.7.16版本python的虚拟环境venv-pyside2-3.7.16
pyenv virtualenv 3.7.16 venv-pyside2-3.7.16

1.2、安装pyside2

# 激活虚拟环境
pyenv activate venv-pyside2-3.7.16
# pip 安装
pip install PySide2
# 查看已安装列表
pip list

二、Pycharm配置PySide2相关外部工具(pyside2-designer/pyside2-uic/pyside2-rcc)

2.1、 新增 Designer外部工具

  • 打开pycharm =>settings =>Tools=>External Tools ,点击“+”添加tool,如下图所示添加QT Designer开发工具,随后保存配置:
    pycharm-external-tool-designer
  • 点击pycharm菜单栏 => Tools => External Tools => QtDesigner-PySide2-python3.7.16 ,尝试打开designer界面,terminal报以下错误error while loading shared librarieds: libQt5DesignerComponents.so.5: cannot open shared object file: No such file or directory
    designer-run-error
  • 执行以下命令查看本机环境是否已有该缺失的动态库文件:
locate libQt5DesignerComponents.so.5

查询动态库的位置

  • 本机在刚创建的虚拟环境目录中已存在该动态库,则需要将库所在目录路径添加到系统库查找路径中:
    • 方式一
      libQt5DesignerComponents.so.5确实已存在,将该库文件所在目录加入到共享库的配置文件中,即把libQt5DesignerComponents.so.5所在的目录加入到 /etc/ld.so.conf 中,或者在 /etc/ld.so.conf.d/ 下新建一文件,如 XXX.conf ,其内容是libQt5DesignerComponents.so.5所在的目录的绝对路径,保存后,在终端执行以下命令:
      /sbin/ldconfig -v
      ldconfig
      以上命令将文件/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache中,当修改/etc/ld.so.conf增加了库的新查找路径时,需要运行一下ldconfig,使包括新增的库在内的所有库文件都被缓存到文件/etc/ld.so.cache中,否则可能查在不到新增加的库文件。
    • 方式二
      修改配置文件,如~/.bashrc.bash_profile/etc/profile,或在/etc/profile.d目录下新建一文件,如 XXX.sh ,在该文件中将libQt5DesignerComponents.so.5所在的目录的绝对路径添加到LD_LIBRARY_PATH环境变量,普通用户可直接修改~/.bashrc.bash_profile,修改仅对当前用户有效。root用户可修改/etc/profile,或在/etc/profile.d目录下创建文件,对所有用户都有效;
      下面以创建/etc/profile.d/pyside2.sh文件为例:
      # root用户创建pyside2.sh文件
      touch  /etc/profile.d/pyside2.sh
      vim /etc/profile.d/pyside2.sh
      
      然后,在pyside2.sh文件中添加如下内容:
      export LD_LIBRARY_PATH=/home/MQL-260137/.pyenv/versions/3.7.16/envs/venv-pyside2-3.7.16/lib/python3.7/site-packages/PySide2/Qt/lib:$LD_LIBRARY_PATH
      
      保存并退出后,重新打开终端生效。
    • 方式三
      直接修改pyside2-designer执行脚本文件,在虚拟环境目录下找到pyside2-designer脚本文件,即:/home/MQL-260137/.pyenv/versions/3.7.16/envs/venv-pyside2-3.7.16/bin/pyside2-designer并用编辑器打开:
      修改前:
      #!/home/MQL-260137/.pyenv/versions/3.7.16/envs/venv-pyside2-3.7.16/bin/python3.7
      # -*- coding: utf-8 -*-
      import re
      import sys
      from PySide2.scripts.pyside_tool import designer
      if __name__ == '__main__':
      sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
      sys.exit(designer())
      
      修改后
      #!/home/MQL-260137/.pyenv/versions/3.7.16/envs/venv-pyside2-3.7.16/bin/python3.7
      # -*- coding: utf-8 -*-
      import os
      import re
      import sys
      import pathlib
      import PySide2
      from PySide2.scripts.pyside_tool import designer
      if __name__ == '__main__':
      pyside2_install_path = pathlib.Path(PySide2.__file__).parent
      # 配置临时环境变量,只在代码运行时生效
      os.environ['LD_LIBRARY_PATH'] = str(pyside2_install_path / "Qt/lib")
      sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
      sys.exit(designer())
      
  • 按以上三种方式之一配置查在路径或环境变量后即可正常打开Qt Designer。

2.2、 新增 UIC外部工具

  • 打开pycharm =>settings =>Tools=>External Tools ,点击“+”添加tool,如下图所示添加UI文件转换为python代码文件的工具,随后保存配置:
    uic

2.3、 新增 RCC外部工具

  • 打开pycharm =>settings =>Tools=>External Tools ,点击“+”添加tool,如下图所示添加资源转换工具,随后保存配置:
    rcc

三、安装配置完成

以上为Rocky Linux9.2采用pyenv虚拟环境安装PySide2及其在Pycharm中的配置的详细内容。

Rocky Linux 9.2配置 DNSSEC(Domain Name System Security Extensions)涉及对 `bind`(即 `named`)服务的设置和调整。DNSSEC 提供了一种验证 DNS 数据完整性和真实性的机制,从而增强 DNS 查询的安全性。 ### 配置步骤 #### 1. 安装 Bind 及相关组件 确保系统已安装 `bind` 和 `bind-utils` 软件包: ```bash dnf install -y bind bind-utils ``` 启动并启用 `named` 服务: ```bash systemctl enable named --now systemctl start named ``` #### 2. 启用 DNSSEC 验证 编辑主配置文件 `/etc/named.conf`,确保以下内容存在于 `options` 块中以启用 DNSSEC 支持: ```conf options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion no; # 如果仅作为权威DNS服务器,请关闭递归查询 dnssec-enable yes; dnssec-validation yes; /* Path to ISC DLV key */ bindkeys-file "/etc/named.root.key"; }; ``` 保存并退出后,重新加载 `named` 服务: ```bash rndc reload ``` #### 3. 签署区域文件 为特定域名生成密钥对并签署区域文件。以域名为 `example.com` 为例: ##### (1) 生成 ZSK(Zone Signing Key) ```bash dnssec-keygen -a HMAC-SHA256 -b 256 -n ZONE example.com ``` ##### (2) 生成 KSK(Key Signing Key) ```bash dnssec-keygen -a HMAC-SHA256 -b 256 -n ZONE -f KSK example.com ``` 生成的密钥文件将位于当前目录中,通常以 `Kexample.com.+*.key` 格式命名。 ##### (3) 编辑区域文件并添加密钥记录 将生成的密钥记录添加到区域文件中,例如 `/var/named/example.com.zone`: ```zone $TTL 8H @ IN SOA ns1.example.com. admin.example.com. ( 2024071001 ; Serial 3H ; Refresh 1H ; Retry 1D ; Expire 12H ) ; Minimum TTL IN NS ns1.example.com. ns1 IN A 192.168.1.10 ; DNSSEC records example.com. IN DNSKEY 256 3 8 AwEAA... ; 替换为实际公钥 example.com. IN RRSIG DNSKEY 8 2 86400 20240718000000 ... ; 替换为实际签名 ``` ##### (4) 使用 `dnssec-signzone` 工具签署区域 运行以下命令来签署区域文件: ```bash dnssec-signzone -S -o example.com /var/named/example.com.zone ``` 这将生成一个带有 `.signed` 后缀的新区域文件。 #### 4. 更新 named.conf 并重新加载服务 在 `/etc/named.conf` 中更新区域定义,指向新的已签名区域文件: ```conf zone "example.com" IN { type master; file "example.com.zone.signed"; // 指向已签名的区域文件 allow-update { none; }; }; ``` 最后,重新加载 `named` 服务以应用更改: ```bash rndc reload ``` #### 5. 验证 DNSSEC 配置 使用 `dig` 或 `host` 命令验证 DNSSEC 是否正常工作: ```bash dig +dnssec example.com ``` 输出中应包含 `ad` 标志,表示 DNSSEC 验证成功: ``` ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sishuiyibai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值