Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 11

0
votes
answers
44 views
+10

如何運行python 3的另一個副本

0

我在我的mac上運行了python 3(運行macOS Sierra,2012年中),其中一個安裝了pygame,一個沒有。如何運行python 3的另一個副本

如果我嘗試運行我的遊戲腳本,我得到一個錯誤信息,有沒有模塊名爲pygame的

我用崇高的文本編輯我的Python文件,並希望在終端開到剛打起來在編輯它之後,輸入以運行我的腳本。

+2

不確定你的問題是真的。爲什麼你有2個蟒蛇 - 爲什麼不只是一個工作?如果你需要2個原因不明的原因,爲什麼不在另一個安裝*「pygame」*?或者使用帶*「pygame」*的那個? –

+0

我無法安裝另一個pygame(pip的工作方式),但我無法使用pygame運行python腳本。是否有一種方法可以通過終端在pygame中運行pygame。 – THEAWEGAMER

沙发
0
0

虛擬環境是蟒蛇開發中的一個好習慣。安裝virtualenv。

sudo pip install virtualenv 

創建新的虛擬環境,然後激活它並安裝所有必需的軟件包。這種方法將允許您爲每個正在處理的項目提供特定的包。

有關虛擬環境的更多信息here

+0

謝謝,這將工作。 – THEAWEGAMER

0
votes
answers
53 views
+10

如何確定在OSX上偵聽什麼進程

0

試圖幫助在運行El Capitan的Mac上配置Laravel代客,並且用戶以前安裝了MAMPMAMP已被禁用,但無論何時我們加載代客地址(mysite.dev),我們都會收到標準的Apache 404頁面。如何確定在OSX上偵聽什麼進程

有沒有辦法確定什麼進程在端口80上偵聽,並與代客衝突,所以我可以禁用它?

+0

你可以希望適應這一個https://stackoverflow.com/a/24388281/2836621 –

沙发
0
0

Who is listening on a given TCP port on Mac OS X?

lsof -n -i4TCP:80 | grep LISTEN 

或類似。

0
votes
answers
45 views
+10

終端命令(Mac)更改文件夾中所有文件的擴展名

0

我會盡量縮短該文件的長度。終端命令(Mac)更改文件夾中所有文件的擴展名

我有一個包含9000圖像(幾乎)的文件夾。但是這些圖像的擴展是PNG。我想在一個命令中更改所有這些圖像的擴展名,以便它們全部變成.jpg

如果有人知道如何做到這一點,請分享一下嗎?

謝謝你的幫助。

+0

快速谷歌給了我這個:https://robservatory.com/use-sips-to-quickly-easily-and-freely-convert-image-files/。也許這是你可以嘗試的東西?我建議做一個備份,或者至少在轉換全部文件之前嘗試一部分圖像文件。 – mattias

+1

您不能只編輯擴展名。許多工具不希望在實際的PNG圖像上有.jpg後綴。所以你應該找到一個這樣的工具和ImageMagick,它將實際上將文件轉換爲新格式並適當地更改後綴。下面看看Tim Howland在ImageMagick中使用mogrify的建議。它會一次處理整個文件夾。見http://www.imagemagick.org/Usage/basics/#mogrify。附:對於除後綴之外的其他重命名編輯,我在我的Mac Sierra上使用NameChanger。 – fmw42

沙发
0
2

如果他們PNG,並且你想變成JPG格式圖片,我建議你安裝的ImageMagick(通過自制軟件),並使用「mogrify」命令來改變它們(見https://www.imagemagick.org/script/mogrify.php):

magick mogrify -format jpg *.png 

如果他們都是真正的JPEG文件,你已經結束了錯誤的文件擴展名,你可以這樣做:

ls | grep .png$ | sed 'p;s/.png/.jpg/' | xargs -n2 mv 

見:Batch renaming files in command line and Xargs(即使它的Linux,這些工具都在OSX可用默認安裝)

板凳
0
-1

我是通過使用虛擬機(Windows)執行的 在cmd中,我使用了此命令:ren *.* *.jpg,它工作正常。雖然我猜測在Mac上它有點難。

0
votes
answers
63 views
+10

取消選擇NSTextField中的文本

1

有沒有簡單的方法取消選擇 按回車?取消選擇NSTextField中的文本

沙发
0
1

首先,您需要將視圖控制器設置爲文本字段的代表。然後,您可以覆蓋NSControl實例方法controlTextDidEndEditing(_:),讓你的文本框當前編輯器中選擇範圍 並從主線程設置回您的文本字段:

import Cocoa 

class ViewController: NSViewController, NSTextFieldDelegate { 
    @IBOutlet weak var textField: NSTextField! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     textField.delegate = self 
    } 
    override func controlTextDidEndEditing(_ obj: Notification) { 
     if let selectedRange = textField.currentEditor()?.selectedRange { 
      DispatchQueue.main.async { 
       self.textField.currentEditor()?.selectedRange = selectedRange 
      } 
     } 
    } 
} 
+0

它取消textfiled但什麼即時尋找是,取消選擇文本並保持文本選擇無論是在 –

+0

bassicly即時尋找一種方式來阻止自動選擇所有文字textfiled按下回車鍵時 –

+0

@jana_lemmings檢查我的最後一次編輯 –

0
votes
answers
73 views
+10

在Mac OS上啓用傳入Telnet連接10.12

0

除了下面的命令外我找不到任何東西,但是這也不起作用。我需要允許來自PC應用程序的傳入telnet連接連接到我的Mac。我知道SSH更好,但我必須有telnet連接到我的Mac OS。有人知道嗎?在Mac OS上啓用傳入Telnet連接10.12

這是我發現允許傳入的telnet連接的唯一的東西,但是這不起作用。

須藤launchctl負載-w /System/Library/LaunchDaemons/telnet.plist

-Seth

沙发
0
0

根據蘋果支持: 不能使用Telnet登錄到您的Mac。

請參閱here

0
votes
answers
54 views
+10

如果在啓動時連接了加密狗,我的USB功能驅動程序不會加載

1

今天剛剛發佈。它現在一直在運行良好。如果在啓動時連接了加密狗,我的USB功能驅動程序不會加載

當正常工作時,驅動器將匹配USB設備的 產品和供應商的ID,然後將加載和操作。

這是一個USB視頻適配器,所以在正常情況下,人們看到桌面上的模糊圖像 直到登錄,那麼你 工作正常獲得第二個屏幕,顯示首選項。

但是就在今天,如果加密狗連接在啓動時,驅動程序不加載並且USB連接的顯示器不顯示圖像。

如果我拔掉加密狗然後再插上,它的工作原理。

如果在引導過程中未安裝加密狗,然後插入 後達到的桌面,它的工作原理。

如果引導過程中加密狗連接,和我後來用kextutil到 加載它,kextutil報告成功,但它不會加載。

我猜測它是相匹配的問題,但不明白 可能出了問題。

這是一個簽名的驅動程序這是現已在/Library/Extensions;以前它是未簽名的,在/System/Library/Extensions中禁用了系統完整性保護。

產品中還有另外兩個不是USB功能驅動程序的驅動程序。他們加載得很好。所有三個驅動程序一起工作來創建虛擬幀緩衝區,然後顯示它。

沙发
0
1

這可能是由一堆不同的東西造成的。幾點建議:

  1. 您是否驗證了::probe()::start()不被稱爲你的驅動程序類?如果他們返回NULL/false,那將導致所描述的行爲。
  2. 當您的驅動程序未能加載冷插設備時,IORegistry中的情況如何?你匹配的結點是否有客戶端對象?
  3. 你排除了kext緩存問題嗎? (例如,是否有任何錯誤時,OS重新生成的kext緩存和預鏈接內核?)

發佈您的Info.plist也可能幫助 - 這是可能的,問題出在那裏。

+0

謝謝。我正在其他地方工作,我的加密狗在工作。我明天會看看你的建議。 –

0
votes
answers
85 views
+10

爲什麼我的Boost庫無法鏈接?

0

我正在使用運行MacOS 10.13.1的MacBook Pro;使用下面通過自制安裝升壓:爲什麼我的Boost庫無法鏈接?

brew install boost --build-from-source 

我的代碼如下:

#include <iostream> 
#include <boost/filesystem.hpp> 

namespace boostfs = boost::filesystem; 

int main(int argc, char* argv[]) 
{ 
    if (argc <= 1) 
{ 
    std::cerr << "Usage: " << argv[0] << " <filename>" << std::endl; 
    return 1; 
} 

boostfs::path p(argv[1]); 

if (boostfs::exists(p)) 
{ 
    std::cout << "File " << p << " exists." << std::endl; 
} 
else 
{ 
    std::cout << "File " << p << " does not exist." << std::endl; 
} 

    return 0; 
} 

我收到的錯誤是:

Undefined symbols for architecture x86_64: 
"boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)", referenced from: 
    boost::filesystem::exists(boost::filesystem::path const&) in chkfile-c30777.o 
    "boost::system::system_category()", referenced from: 
    ___cxx_global_var_init.2 in chkfile-c30777.o 
    "boost::system::generic_category()", referenced from: 
    ___cxx_global_var_init in chkfile-c30777.o 
    ___cxx_global_var_init.1 in chkfile-c30777.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make: *** [chkfile] Error 1 

我在跑的代碼終端使用makegcc 7.2.0

我嘗試以下操作:

g++ -std=c++17 -I /usr/local/include/ chkfile.cpp -o chkfile 

,並得到了新的錯誤:

Undefined symbols for architecture x86_64: 
"boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)", referenced from: 
boost::filesystem::exists(boost::filesystem::path const&) in cce7HDO8.o 
"boost::system::system_category()", referenced from: 
    __static_initialization_and_destruction_0(int, int) in cce7HDO8.o 
"boost::system::generic_category()", referenced from: 
    boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const in cce7HDO8.o 

boost::system::error_category::std_category::equivalent(std::error_code const&, int) const in cce7HDO8.o 
    __static_initialization_and_destruction_0(int, int) in cce7HDO8.o 
ld: symbol(s) not found for architecture x86_64 
collect2: error: ld returned 1 exit status 

我在做什麼錯?

+0

是你看到了什麼錯誤?請將確切的文字複製並粘貼到問題中。 –

+0

您使用了哪些命令來構建和鏈接代碼?你是否在提示符處鍵入'make'並希望最好?大多數Makefiles默認迴應他們正在運行的編譯和鏈接命令 - 控制檯中輸出的內容是什麼? – PaSTE

+0

我剛添加了錯誤。另外,我只是從命令行運行'make'。 –

沙发
0
0

包括文件系統這樣

#define BOOST_NO_CXX11_SCOPED_ENUMS 
#include <boost/filesystem.hpp> 
#undef BOOST_NO_CXX11_SCOPED_ENUMS 

確保您鏈接正確的庫

-lboost_system -lboost_filesystem 
0
votes
answers
52 views
+10

如何在PHP從默認文件夾更改爲PHP 71文件夾

0

this my /usr/local/ folder如何在PHP從默認文件夾更改爲PHP 71文件夾

這是我的PHP版本showing`

PHP -v 
PHP 5.5.38 (cli) (built: Mar 30 2017 12:11:07) 
Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0, 
Copyright (c) 1998-2015 Zend Technologies` 

這是我的道路

echo $PATH
/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

我想要做的是切換到我的php72文件夾,所以當我鍵入php -v來顯示我的PHP 7.2 我已經搜索了很多,並嘗試了許多解決方案,但它不工作。 任何幫助,將不勝感激

+1

檢查這可能會幫助你:https://stackoverflow.com/a/13298091/2781096 –

沙发
0
0

圍棋在Finder中,按??P在屏幕的底部打開路徑的顯示上 - 不知道爲什麼蘋果離開這個關閉(咆哮)。

現在導航到/usr/local/php5-7.2ORC....並在那裏瀏覽,直到找到名爲php的可執行文件。當您選擇了該文件時,請注意屏幕底部的路徑。從路徑的右端取下字php,現在設置PATH這樣的:

export PATH=<WHATEVER-YOU_GOT_ABOVE>:$PATH 

在本質上,你最終會做類似

export PATH=/usr/local/php5-7.20ORC.../bin:$PATH 
0
votes
answers
78 views
+10

新手 - 在Mac上的Javascript代碼來控制Chrome

1

我一直在學習javascript瀏覽通過OpenStack並需要一點指導,我已經編寫了下面的代碼在Chrome中打開一個網站(我的默認瀏覽器),等待5秒,然後使用do/while循環刷新10次。新手 - 在Mac上的Javascript代碼來控制Chrome

它看起來不錯,因爲我想從終端運行它嗎?我一直在Chrome開發人員控制檯中運行此操作,並希望在我的Mac(10.9.5)上運行它,是否僅通過automator運行它?

非常感謝您的幫助!

var vcount = 0; 
 

 
function sleep(time) { 
 
    return new Promise((resolve) => setTimeout(resolve, time)); 
 
} 
 

 
do { 
 
    window.location.assign("https://www.w3schools.com"); 
 
    sleep(10000).then(() => {}); 
 
    vcount++; 
 
} 
 
while (vcount < 10);

+1

不,因爲'sleep(10000).then((=)=> {});'不會「暫停」 - 同樣,一旦你改變了當前位置,這個腳本將不再處於當前頁面,不管怎樣, –

沙发
0
1

您需要使用等待真正暫停exectution:

(async function(){ 
    do { 
    window.location.assign("https://www.w3schools.com"); 
    await sleep(10000); 
    vcount++; 
    } while (vcount < 10); 
})(); 
+0

啊,謝謝喬納斯,我試圖找到那種類型的命令,我正在尋找'睡眠'和'等待',然後偶然發現了我用過的方法,我會用你的代碼! – PCF

板凳
0
0

有很多方法可以做到你想要什麼,@JonasW給了一個他們,這裏是一個替代方案:

function sleep(ms) { 
    const waitUntil = new Date().getTime() + ms; 
    while (new Date().getTime() < waitUntil) true; 
} 

這將在沒有await/Promise的情況下運行。

編輯

??此外,你需要收拾一切功能,所以它不會凍結瀏覽器,因爲JavaScript是在一個線程中運行:

setTimeout(function() { 
    /* Your code */ 
}, 0) 
+0

謝謝亞瑟,是否有任何理由使用一種方法高於另一種?另外,如何進行單一動作有多種方法? – PCF

+0

@PCF是的,有一個原因:並非所有的瀏覽器都支持相同的功能,'await'和'Promise'是在最近版本的JavaScript中引入的,並且在最新版本的Chrome,Safari和Firefox上都受支持。如果您使用我的方法,它將在更多瀏覽器(如IE)上得到支持。而且,是的,在每種編程語言中,都有很多方法可以做同樣的事情。這就像同義詞。 –

+0

這是一個糟糕的做法,因爲它凍結了瀏覽器。 –

0
votes
answers
43 views
+10

在Mac上安裝npm高sierra

2

我想在mac high sierra上安裝node.js和npm。
https://gist.github.com/rcugut/c7abd2a425bb65da3c61d8341cd4b02d
我成功通過自制軟件安裝node.js,但無法安裝NPM
我該怎麼辦?在Mac上安裝npm高sierra


Hoyeongui-MacBook-Air:~ hoyeongkim$ node -v 
v8.9.1 
Hoyeongui-MacBook-Air:~ hoyeongkim$ curl -L https://www.npmjs.com/install.sh | sh 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
100 6255 100 6255 0  0 2628  0 0:00:02 0:00:02 --:--:-- 2629 
tar=/usr/bin/tar 
version: 
bsdtar 2.8.3 - libarchive 2.8.3 
install [email protected] 
fetching: https://registry.npmjs.org/npm/-/npm-5.5.1.tgz 
module.js:538 
    throw err; 
    ^

Error: Cannot find module '/private/var/folders/jn/6wwl3xfd25x94ky333nhcxb80000gn/T/npm.58735/package/bin/read-package-json.js' 
    at Function.Module._resolveFilename (module.js:536:15) 
    at Function.Module._load (module.js:466:25) 
    at Function.Module.runMain (module.js:676:10) 
    at startup (bootstrap_node.js:187:16) 
    at bootstrap_node.js:608:3 
added 1 package and removed 1 package in 0.846s 
/usr/local/Cellar/node/8.9.1/bin/npm -> /usr/local/Cellar/node/8.9.1/lib/node_modules/npm/bin/npm-cli.js 
/usr/local/Cellar/node/8.9.1/bin/npx -> /usr/local/Cellar/node/8.9.1/lib/node_modules/npm/bin/npx-cli.js 
+ [email protected] 
updated 1 package in 1.687s 
It worked 

Hoyeongui-MacBook-Air:~ hoyeongkim$ npm 
-bash: npm: command not found 
+0

HTH HTTPS ://gist.github.com/DanHerbert/9520689 –

+0

@MarkSetchell T hank,但它不起作用.. –

+0

爲什麼你不想通過Homebrew安裝npm?這是最簡單的解決方案:'brew install node'。 – bfontaine

沙发
0
2

我在詳細看了這個。我安裝node自制軟件並設置我的路徑有/usr/local/bin在一開始,所以我拿起所有自制軟件二進制文件。

所以,如果我檢查node其二進制和哪個版本,我看到我運行了一個由自制安裝:

which node 
/usr/local/bin/node 

,它是版本自制安裝:

node -v 
v8.9.1 

自制軟件安裝node也自動安裝npm只是如出一轍:

which npm 
/usr/local/bin/npm 

而且也是當前:

npm -v 
5.5.1 

所以,我不知道爲什麼你想從源代碼安裝npm - 只要使用由自制提供的一個。


如果我看有自制的安裝node相關的文件,我可以看到它包括npm

brew ls node --verbose | grep 'npm$' 

樣本輸出

/usr/local/Cellar/node/8.9.1/etc/bash_completion.d/npm 
/usr/local/Cellar/node/8.9.1/libexec/bin/npm 
/usr/local/Cellar/node/8.9.1/libexec/lib/node_modules/npm/bin/npm