使用brew services管理服务

 mac  使用brew services管理服务已关闭评论
11月 122019
 

mac使用launchctl命令加载开机自动运行的服务,而brew service 可以简化这种操作。

以brew install redis后自启动redis为例,使用launchctl启动过程如下:

  1. ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
  2. launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
  3. brew services restart redis

常用命令

brew services list  # 查看使用brew安装的服务列表

brew services run formula|–all  # 启动服务(仅启动不注册)

brew services start formula|–all  # 启动服务,并注册

brew services stop formula|–all   # 停止服务,并取消注册

brew services restart formula|–all  # 重启服务,并注册

brew services cleanup  # 清除已卸载应用的无用的配置

 

配置文件目录

/Library/LaunchDaemons # 开机自启,需要sudo

~/Library/LaunchAgents # 用户登录后自启

 

 

举例:homebrew.mxcl.redis.plist格式如下:

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
<false/>
</dict>
<key>Label</key>
<string>homebrew.mxcl.redis</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/redis/bin/redis-server</string>
<string>/usr/local/etc/redis.conf</string>
<string>–daemonize no</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local/var</string>
<key>StandardErrorPath</key>
<string>/usr/local/var/log/redis.log</string>
<key>StandardOutPath</key>
<string>/usr/local/var/log/redis.log</string>
</dict>
</plist>

 

官网参考内容:
https://github.com/Homebrew/homebrew-services

mac 下 redis 安装、redis.conf位置、redis-server后台运行

 redis  mac 下 redis 安装、redis.conf位置、redis-server后台运行已关闭评论
11月 122019
 

mac下安装redis命令:

brew install redis

 

如果没有安装homebrew,可以打开一个终端,输入下面命令安装:

/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

 

启动:

redis-server 命令直接启动会运行在一个终端里,关闭终端服务就停止了,也没有运行参数可以后台运行,但可以通过修改配置文件参数实现。

mac下brew安装的redis的配置文件默认所在位置: /usr/local/etc/redis.conf

修改: 将 daemonize no 修改为 daemonize yes

 

再启动

redis-server /usr/local/etc/redis.conf

redis就会后台运行了

 

如果要开机启动,使用下面命令:

ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

brew services start redis

pm2修改配置文件后,restart未重新加载问题解决

 pm2  pm2修改配置文件后,restart未重新加载问题解决已关闭评论
11月 092019
 

修改了pm2的配置文件,发现使用下面命令都无效,配置就是没更新:

无效命令(Invalid):
pm2 reload config.json
网上也有说用下面的命令,我这边也无效
pm2 startOrReload config.js –update-env

后来只能使用删除项目后再启动方式OK:
以下有效(valid):
pm2 delete all
pm2 restart config.json

nvm is not compatible with the npm config “prefix” option: currently set to “/usr/local” Run `npm config delete prefix` or `nvm use –delete-prefix v6.12.2 –silent` to unset it.

 Nodejs, nvm  nvm is not compatible with the npm config “prefix” option: currently set to “/usr/local” Run `npm config delete prefix` or `nvm use –delete-prefix v6.12.2 –silent` to unset it.已关闭评论
11月 072019
 

mac安装了下homebrew,运行source .bash_profile时出现了下面提示:
nvm is not compatible with the npm config “prefix” option: currently set to “/usr/local” Run `npm config delete prefix` or `nvm use –delete-prefix v6.12.2 –silent` to unset it.

可以通过以下命令解决:
$ npm config delete prefix
$ npm config set prefix $NVM_DIR/versions/node/v6.12.2

DONE!

macOS Mojave下安装Network Link Conditioner,提示“Network Link Conditioner”偏好设置是随 macOS 安装,不能被替换。”

 mac, xcode  macOS Mojave下安装Network Link Conditioner,提示“Network Link Conditioner”偏好设置是随 macOS 安装,不能被替换。”已关闭评论
10月 252019
 

原来mac 10 版本时安装过Network Link Conditioner,后来升级到macOS Mojave后,系统偏好设置里就没有了。 后来安装了xcode 11,需要用到Network Link Conditioner,就又下载Additional_Tools_for_Xcode_11.dmg,然后打开,进入Hardware目录里, 点击Network Link Conditioner.prefPane时提示:“Network Link Conditioner”偏好设置是随 macOS 安装,不能被替换。”

解决办法如下:
1. 第一种使用原来的。
按住 Command + Space 打开 spotlight 全局搜索
搜索 Network Link Conditioner
在结果列表里双击打开
(自动添加到设置面板并打开)

2. 第二种替换使用新的版本
将Network Link Conditioner.prefPane文件复制到/Library/PreferencePanes目录, 再进入“系统偏好设置”,就能在底部找到Network Link Conditioner工具了

pip安装包到指定目录方法(指定路径)

 mac, pip, python  pip安装包到指定目录方法(指定路径)已关闭评论
10月 242019
 

mac中使用pip安装包后,可能会发现明明提示“Successfully installed xxx“,但就是找不到这个包“ImportError: No module named  xxx”?

其实是这样: 默认pip安装在/usr/local/lib/python2.7/site-packages, 但如果sudo pip安装则会安装在/lib/python2.7/site-packages,那如果我要指定安装包的路径需要怎么做呢?使用下面的黑体字命令即可,在-install-option里添加–install-purelib指定目录即可,以下命令安装google-api-python-client包到/usr/local/lib/python2.7/site-packages

pip install --install-option="--install-purelib=/usr/local/lib/python2.7/site-packages" google-api-python-client

 

DONE!!!

mac下使用pip安装模块时,出现错误提示:     “must supply either home or prefix/exec-prefix — not both”

 mac, python  mac下使用pip安装模块时,出现错误提示:     “must supply either home or prefix/exec-prefix — not both”已关闭评论
10月 232019
 

mac下使用pip安装时,出现错误提示:

    “must supply either home or prefix/exec-prefix — not both”

DistutilsOptionError: must supply either home or prefix/exec-prefix — not both

 

参考Homebrew python页 https://github.com/Homebrew/brew/blob/master/docs/Homebrew-and-Python.md

在文件~/.pydistutils.cfg中加入如下内容:

[install]

prefix=

 

再pip安装即可!

centos 7 使用pyenv 安装 python 3 出现“ModuleNotFoundError: No module named ‘_ctypes’”的问题解决

 python  centos 7 使用pyenv 安装 python 3 出现“ModuleNotFoundError: No module named ‘_ctypes’”的问题解决已关闭评论
10月 232019
 

centos 7 下使用pyenv 安装python 3.7时错误如下;

Downloading Python-3.7.4.tar.xz…
-> https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz
Installing Python-3.7.4…

BUILD FAILED (CentOS Linux 7 using python-build 20180424)

Inspect or clean up the working tree at /tmp/python-build.20191023165632.13343
Results logged to /tmp/python-build.20191023165632.13343.log

Last 10 log lines:
File “/tmp/tmpgvoc4sao/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/cli/main_parser.py”, line 12, in <module>
File “/tmp/tmpgvoc4sao/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/commands/__init__.py”, line 6, in <module>
File “/tmp/tmpgvoc4sao/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/commands/completion.py”, line 6, in <module>
File “/tmp/tmpgvoc4sao/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/cli/base_command.py”, line 20, in <module>
File “/tmp/tmpgvoc4sao/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/download.py”, line 37, in <module>
File “/tmp/tmpgvoc4sao/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/utils/glibc.py”, line 3, in <module>
File “/tmp/python-build.20191023165632.13343/Python-3.7.4/Lib/ctypes/__init__.py”, line 7, in <module>
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named ‘_ctypes’
make: *** [install] Error 1

 

解决方法如下:

  1. 先安装: yum install libffi-devel -y
  2. 再安装python: pyenv install 3.7.4

DONE!

如果安装成功后有WARNING提示:

WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?

为避免后续使用中问题,可进一步安装其它依赖包

yum install readline readline-devel readline-static -y

yum install sqlite-devel -y

yum install bzip2-devel bzip2-libs -y

yum install openssl openssl-devel openssl-static -y

OK!!

xcode 11下使用pod install 提示target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/xxxxx.xcconfig’. This can lead to problems with the CocoaPods installation 解决方法

 pod, xcode  xcode 11下使用pod install 提示target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/xxxxx.xcconfig’. This can lead to problems with the CocoaPods installation 解决方法已关闭评论
10月 212019
 

我在xcode 11下使用 pod install 安装包时,总有提示如下: “target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/xxxxx.xcconfig’. This can lead to problems with the CocoaPods installation”

可以使用下面的方式解决:

screen shot 2017-01-08 at 6 02 54 pm

screen shot 2017-01-08 at 6 03 04 pm

screen shot 2017-01-08 at 6 03 12 pm

 

DONE!!

Python mac运行 pygame 空白, 图片不显示内容 解决方案

 mac  Python mac运行 pygame 空白, 图片不显示内容 解决方案已关闭评论
10月 092019
 

问题描述: 运行pygame含图片相关的程序,图像不显示。

错误产生环境:macOS MOjave

问题原因:Pygame与MacOS Mojave 不兼容 #见 https://github.com/pygame/pygame/issues/555

可以使用下面一行语句测试是否是这个原因,运行系统示例代码,打开一个窗口,可以听到声音和音乐,但一直是黑色屏幕或白色屏幕表面
python -m pygame.examples.aliens

网上的解决方案:

  1. 将操作系统降级为macOS High Sierra
  2. 安装Miniconda虚拟环境运行pygame

以上方法都比较坑,其实如果为了现在可运行pygame程序,可以使用下面的方法:暂时先安装pygame 2.0的dev版本,等后续2.0正式版本出来后再更新。

以下命令安装pygame 2.0.0.dev4版本:

python3 -m pip install pygame==2.0.0.dev4 –pre –user

再运行原来的程序,done!!!